MAE-016: Carta Porte CFDI
Modulo: MAE-016 | Version: 1.0.0 | Actualizado: 2026-01-27
Epica: EPIC-MAE-016 - Carta Porte CFDI
Schema BD: compliance
DDL: database/ddl/08-compliance-schema-ddl.sql
Descripcion
Modulo de generacion, timbrado y administracion del Complemento Carta Porte version 3.1 para CFDI, conforme a los lineamientos del Servicio de Administracion Tributaria (SAT). Este complemento es obligatorio para el traslado de bienes y mercancias en territorio nacional por via de autotransporte federal.
El modulo automatiza la construccion del XML del complemento a partir de los datos operativos del viaje (origen, destino, mercancias, operador, unidad, remolques), ejecuta las validaciones de campos obligatorios conforme a los catalogos del SAT, se integra con un Proveedor Autorizado de Certificacion (PAC) para el timbrado digital y ofrece funcionalidades de descarga PDF, cancelacion con motivo y expediente fiscal por viaje.
Contexto Legal y Normativo
- Base legal: Regla 2.7.7.1 de la Resolucion Miscelanea Fiscal vigente; articulo 29-A del Codigo Fiscal de la Federacion.
- Version complemento: Carta Porte 3.1, vigente desde el 17 de julio de 2024.
- Obligatoriedad: Toda persona fisica o moral que transporte bienes o mercancias en territorio nacional por via terrestre, maritima, aerea o ferroviaria debe emitir CFDI con complemento Carta Porte.
- Sanciones: La falta de este documento durante el traslado implica multas y posible decomiso de mercancias por parte de la autoridad fiscal.
- Catalogos SAT: Se utilizan catalogos oficiales de claves de producto/servicio, unidades de medida, tipos de permiso SCT, configuracion vehicular, claves de material peligroso y tipos de figura de transporte.
- Motivos de cancelacion: 01 (Comprobante emitido con errores con relacion), 02 (Comprobante emitido con errores sin relacion), 03 (No se llevo a cabo la operacion), 04 (Operacion nominativa relacionada en factura global).
Tipos de CFDI con Carta Porte
| Tipo |
Enum DDL |
Descripcion |
Escenario |
| CFDI de Ingreso |
INGRESO |
Factura por servicio de transporte prestado a un tercero |
Empresa transportista que cobra por el traslado de mercancias del cliente |
| CFDI de Traslado |
TRASLADO |
Comprobante de traslado de mercancias propias |
Empresa que mueve sus propias mercancias sin cobrar servicio de flete |
Actores
| Actor |
Responsabilidad |
| Facturador |
Genera la carta porte desde el viaje, valida datos, solicita timbrado al PAC, descarga PDF/XML |
| Contador |
Revisa expediente fiscal, gestiona cancelaciones, genera reportes fiscales mensuales |
| Coordinador de Operaciones |
Asegura que los datos del viaje (mercancias, ubicaciones, figuras) esten completos antes del despacho |
| Operador/Conductor |
Porta el PDF/XML en la unidad durante el traslado; consulta en modo offline desde la app movil |
Funcionalidades Principales
- Generacion automatica desde viaje: El sistema construye el complemento Carta Porte 3.1 a partir de los datos del viaje (ubicaciones, mercancias, operador, unidad, remolques) sin captura manual redundante.
- Validacion de campos SAT: Antes de enviar al PAC, el sistema valida todos los campos obligatorios segun el tipo de CFDI (Ingreso/Traslado), incluyendo catalogos SAT (BienesTransp, ClaveUnidad, ConfigVehicular, TipoPermiso, TipoFigura).
- Timbrado con PAC: Integracion con proveedores autorizados de certificacion (Finkok, Facturapi, SW Sapien) para timbrar el CFDI y obtener UUID fiscal, cadena de certificacion y sello digital.
- Generacion de PDF: Representacion impresa del CFDI con complemento Carta Porte, incluyendo datos fiscales, mercancias, ubicaciones, figuras de transporte y codigo QR de verificacion.
- Cancelacion de CFDI: Envio de solicitud de cancelacion al SAT a traves del PAC con motivo (01, 02, 03, 04), UUID de sustitucion cuando aplica y bitacora de cancelaciones.
- Expediente fiscal por viaje: Asociacion del UUID del CFDI timbrado, XML, PDF y QR con el viaje/OT, permitiendo consulta rapida y auditoria.
- Disponibilidad offline: El operador puede descargar y consultar el PDF, XML y QR desde la app movil en modo offline, cumpliendo con la obligacion de portarlo durante el traslado.
- Reporte fiscal mensual: Generacion de reporte con todos los CFDI emitidos, cancelados y vigentes en un periodo, agrupados por tipo, serie, estado y totales.
Entidades (desde DDL - schema compliance)
| Tabla |
Descripcion |
Campos clave |
compliance.cartas_porte |
CFDI con complemento Carta Porte 3.1 |
id, viaje_id, tipo_cfdi, uuid_cfdi, emisor_rfc, receptor_rfc, estado, xml_cfdi, pdf_url |
compliance.ubicaciones_carta_porte |
Nodos Ubicacion (origen/destino) de la carta porte |
id, carta_porte_id, tipo_ubicacion, codigo_postal, fecha_hora_salida_llegada, distancia_recorrida |
compliance.mercancias_carta_porte |
Nodo Mercancias transportadas en el complemento |
id, carta_porte_id, bienes_transp, descripcion, cantidad, peso_en_kg, material_peligroso |
compliance.figuras_transporte |
Nodo FiguraTransporte (operador, propietario, arrendador) |
id, carta_porte_id, tipo_figura, rfc_figura, num_licencia |
compliance.autotransporte_carta_porte |
Nodo Autotransporte federal (vehiculo, permisos, remolques) |
id, carta_porte_id, perm_sct, num_permiso_sct, config_vehicular, placa_vm, remolques |
ENUMs
| Enum |
Valores |
Uso |
compliance.estado_carta_porte |
BORRADOR, VALIDADA, TIMBRADA, CANCELADA |
Ciclo de vida del CFDI |
compliance.tipo_cfdi_carta_porte |
INGRESO, TRASLADO |
Tipo de comprobante fiscal |
API Endpoints (propuestos)
| Metodo |
Ruta |
Descripcion |
| POST |
/api/v1/carta-porte |
Crear carta porte desde viaje |
| GET |
/api/v1/carta-porte/:id |
Obtener detalle de carta porte |
| GET |
/api/v1/carta-porte |
Listar cartas porte (filtros: estado, fecha, tipo_cfdi) |
| POST |
/api/v1/carta-porte/:id/validar |
Validar campos obligatorios SAT |
| POST |
/api/v1/carta-porte/:id/timbrar |
Timbrar CFDI con PAC |
| GET |
/api/v1/carta-porte/:id/pdf |
Descargar PDF de la carta porte |
| GET |
/api/v1/carta-porte/:id/xml |
Descargar XML del CFDI |
| POST |
/api/v1/carta-porte/:id/cancelar |
Cancelar CFDI con motivo |
| GET |
/api/v1/carta-porte/expediente/:viajeId |
Consultar expediente fiscal del viaje |
| POST |
/api/v1/carta-porte/:id/mercancias |
Agregar mercancias a la carta porte |
| PUT |
/api/v1/carta-porte/:id/mercancias/:mercanciaId |
Actualizar mercancia |
| POST |
/api/v1/carta-porte/:id/figuras |
Registrar figuras de transporte |
| POST |
/api/v1/carta-porte/:id/autotransporte |
Configurar datos de autotransporte federal |
| GET |
/api/v1/carta-porte/reporte-fiscal |
Generar reporte fiscal mensual |
Historias de Usuario
| ID |
Titulo |
SP |
Prioridad |
Estado |
| US-MAE016-001 |
Generar carta porte desde viaje |
8 |
P0 |
Backlog |
| US-MAE016-002 |
Validar datos obligatorios SAT |
5 |
P0 |
Backlog |
| US-MAE016-003 |
Timbrar CFDI con PAC |
8 |
P0 |
Backlog |
| US-MAE016-004 |
Descargar PDF de carta porte |
3 |
P1 |
Backlog |
| US-MAE016-005 |
Cancelar CFDI con motivo |
5 |
P1 |
Backlog |
| US-MAE016-006 |
Consultar expediente fiscal |
3 |
P1 |
Backlog |
| US-MAE016-007 |
Agregar mercancias transportadas |
5 |
P0 |
Backlog |
| US-MAE016-008 |
Registrar figuras de transporte |
5 |
P1 |
Backlog |
| US-MAE016-009 |
Configurar datos autotransporte federal |
5 |
P1 |
Backlog |
| US-MAE016-010 |
Generar reporte fiscal mensual |
3 |
P2 |
Backlog |
Total Story Points: 50
Dependencias
Depende de
| Modulo |
Razon |
| MAI-001 Fundamentos |
Auth, RBAC, multi-tenancy, tenant_id para RLS |
| MAI-003 Ordenes de Transporte |
Datos de OT/embarque como origen de la carta porte |
| MAI-005 Despacho |
Viaje despachado como prerequisito para generar carta porte |
| MAI-009 Facturacion Transporte |
CFDI de Ingreso se vincula con factura de transporte |
| MAI-011 Gestion de Flota |
Datos de unidad, remolques, operadores (placas, licencias, permisos SCT) |
Bloquea a
| Modulo |
Razon |
| MAI-007 POD y Cierre |
El cierre operativo requiere la carta porte timbrada |
| MAI-015 Portal Cliente |
El portal muestra carta porte al cliente para descarga |
| MAE-018 Reportes y KPIs |
Los reportes fiscales consolidan datos de cartas porte |
Flujo Principal
1. GENERAR CARTA PORTE
Coordinador/Facturador selecciona viaje despachado
Sistema extrae datos: emisor, receptor, ubicaciones, mercancias, operador, unidad
Crea registro en compliance.cartas_porte con estado BORRADOR
2. AGREGAR/VERIFICAR MERCANCIAS
Sistema carga mercancias del viaje/OT
Facturador ajusta claves SAT (bienes_transp, clave_unidad)
Registra peso_en_kg, material_peligroso si aplica
3. REGISTRAR FIGURAS DE TRANSPORTE
Sistema carga operador asignado como tipo_figura '01' (Operador)
Se agregan propietario ('02') o arrendador ('03') si aplica
Valida num_licencia del operador
4. CONFIGURAR AUTOTRANSPORTE
Sistema carga datos de unidad: perm_sct, config_vehicular, placa_vm
Agrega remolques con sub_tipo_rem y placa
Valida catalogo de configuracion vehicular SAT
5. VALIDAR DATOS SAT
Sistema ejecuta validaciones de campos obligatorios
Verifica catalogos SAT (BienesTransp, ClaveUnidad, ConfigVehicular)
Si pasa: estado = VALIDADA. Si falla: muestra errores especificos
6. TIMBRAR CON PAC
Sistema genera XML del CFDI con complemento Carta Porte 3.1
Envia a PAC (Finkok/Facturapi/SW)
Recibe uuid_cfdi, fecha_timbrado, sello, cadena
Estado = TIMBRADA. Almacena xml_cfdi
7. GENERAR PDF Y QR
Sistema genera representacion impresa con datos fiscales
Incluye codigo QR de verificacion SAT
Almacena pdf_url y qr_url
8. CANCELAR (si requiere)
Facturador/Contador selecciona motivo (01, 02, 03, 04)
Si motivo 01: indica uuid_sustitucion
Envia solicitud al PAC
Estado = CANCELADA. Registra fecha_cancelacion y motivo
MAE-016 Carta Porte CFDI - ERP Transportistas v1.0.0 - Sistema SIMCO v4.0.0