1 Configuracion Inicial en Admin
1.1 Acceder a la configuracion
Inicio → Administracion → Modulos → CFDI XML → Pestana «Traslado»
1.2 Opciones a configurar
| Campo | Descripcion | Valor recomendado |
|---|---|---|
| Activar CFDI Traslado | Habilita la funcionalidad | Marcar |
| Activar Carta Porte | Habilita el complemento | Marcar |
| Distancia por defecto | Distancia inicial en km | 100 |
| Crear campos extra automaticamente | Crea todos los extrafields necesarios | Marcar (primera vez) |
Importante: Al marcar «Crear campos extra automaticamente» y guardar, se crearan todos los extrafields necesarios en Vehiculos, Usuarios y Pedidos.
2 Configurar Vehiculos (Recursos)
2.1 Acceder al modulo de Recursos
Inicio → Herramientas → Recursos
2.2 Crear un nuevo recurso (vehiculo)
Click en «Nuevo Recurso» y completar:
| Campo | Ejemplo | Obligatorio |
|---|---|---|
| Referencia | CAMION-001 | Si |
| Descripcion | Camion de 3.5 toneladas | No |
| Tipo de recurso | Vehiculo | Recomendado |
2.3 Completar extrafields del vehiculo
| Campo Extra | Ejemplo | Catalogo SAT |
|---|---|---|
| Configuracion Vehicular SAT | C2 – Camion Unitario | c_ConfigVehicular |
| Placas del Vehiculo | ABC-123-A | – |
| Ano del Vehiculo | 2022 | – |
| Aseguradora | Qualitas SA de CV | – |
| Poliza de Seguro | POL-2024-123456 | – |
| Permiso SCT | TPAF01 – Autotransporte Federal | c_TipoPermiso |
| Numero de Permiso | PERMISO-SCT-123 | – |
| Peso Bruto Vehicular (ton) | 3.5 | – |
2.4 Codigos de Configuracion Vehicular (SAT)
VL = Vehiculo Ligero C2 = Camion 2 ejes (6 llantas total) C3 = Camion 3 ejes (10 llantas total) C2R2 = Camion-Remolque 2+2 ejes C3R2 = Camion-Remolque 3+2 ejes T2S1 = Tractocamion articulado 2+1 ejes T2S2 = Tractocamion articulado 2+2 ejes T3S2 = Tractocamion articulado 3+2 ejes T3S3 = Tractocamion doblemente articulado
3 Configurar Conductores (Usuarios)
3.1 Acceder al modulo de Usuarios
Inicio → Usuarios y Grupos → Usuarios
3.2 Crear o editar un usuario (conductor)
| Campo | Ejemplo |
|---|---|
| Login | jperez |
| Nombre | Juan |
| Apellido | Perez Gonzalez |
| jperez@empresa.com |
3.3 Completar extrafields del conductor
| Campo Extra | Ejemplo | Descripcion |
|---|---|---|
| Es Conductor | Si | Marca este usuario como conductor |
| RFC Conductor | PEGJ850101ABC | RFC del conductor (13 caracteres) |
| Nombre Completo Conductor | Juan Perez Gonzalez | Como aparece en licencia |
| Licencia de Conducir | D1234567 | Numero de licencia federal |
| Vencimiento Licencia | 2026-03-15 | Fecha de vencimiento |
| Vencimiento Cert. Medico | 2025-06-30 | Certificado medico vigente |
4 Configurar Terceros
4.1 Datos del tercero para el traslado
Inicio → Terceros → (Seleccionar cliente)
Asegurar que el tercero tenga completos:
| Campo | Ubicacion | Descripcion |
|---|---|---|
| RFC | Pestana principal → RFC/Tax ID | RFC del receptor |
| Direccion | Pestana principal | Calle y numero |
| Codigo Postal | Pestana principal | 5 digitos |
| Ciudad/Municipio | Pestana principal | Para Carta Porte |
| Estado/Provincia | Pestana principal | Se convertira a codigo SAT |
5 Crear Pedido de Traslado
5.1 Crear nuevo pedido
Inicio → Comercial → Pedidos → Nuevo pedido
5.2 Datos basicos del pedido
| Campo | Valor | Nota |
|---|---|---|
| Cliente | (Seleccionar destinatario) | El receptor de la mercancia |
| Referencia | T-2024-001 | Identificador del traslado |
| Fecha pedido | (Fecha actual) | – |
5.3 Agregar lineas (productos a transportar)
Los productos deben tener configurados sus extrafields CFDI: Clave SAT (c_ClaveProdServ), Unidad SAT (c_ClaveUnidad), Peso (kg)
Configuracion CFDI Traslado:
| Campo | Valor | Descripcion |
|---|---|---|
| Tipo de Orden | Orden de Traslado | OBLIGATORIO |
| Transporte Internacional | No | Si solo si cruza frontera |
Datos de Transporte:
| Campo | Valor | Descripcion |
|---|---|---|
| Vehiculo Asignado | (Seleccionar recurso) | El vehiculo creado en Paso 2 |
| Conductor Asignado | (Seleccionar usuario) | El conductor creado en Paso 3 |
| Distancia Total (km) | 150 | Distancia origen-destino |
| Fecha/Hora Salida | 2024-01-20 08:00 | Inicio del traslado |
| Fecha/Hora Llegada Estimada | 2024-01-20 12:00 | Llegada esperada |
Ubicaciones Origen y Destino:
| Campo | Valor | Fuente |
|---|---|---|
| RFC Origen | TUE850101ABC | RFC de tu empresa |
| Nombre Origen | Tu Empresa SA de CV | Nombre de tu empresa |
| RFC Destino | ABC123456XYZ | RFC del cliente/receptor |
| Nombre Destino | Cliente Destino SA | Nombre del cliente |
6 Validar el Pedido
6.1 Checklist antes de timbrar
- Tipo de Orden = «Orden de Traslado»
- Vehiculo asignado con todos sus datos
- Conductor asignado con RFC y licencia
- Distancia total especificada
- Fechas de salida y llegada
- RFC de origen (tu empresa)
- RFC de destino (cliente)
- Al menos una linea de producto con peso
6.2 Validar el pedido en Dolibarr
Accion: Click en «Validar» para cambiar el estado del pedido
7 Timbrar CFDI Traslado
7.1 Generar el CFDI
En la ficha del pedido validado, buscar el boton o accion: «Timbrar CFDI Traslado»
7.2 El sistema realiza:
- Verifica que sea tipo «traslado»
- Obtiene datos del vehiculo del recurso
- Obtiene datos del conductor del usuario
- Construye el XML con:
- Comprobante tipo «T» (Traslado)
- SubTotal y Total = 0
- Moneda = «XXX»
- Receptor con UsoCFDI = «S01» (Sin efectos fiscales)
- Complemento Carta Porte 3.1
- Envia al PAC (Finkok) para timbrado
- Guarda UUID y XML en el pedido
7.3 Resultado exitoso
Se almacena en los extrafields del pedido:
cfdixml_traslado_uuid_order: UUID del timbradocfdixml_traslado_fecha_order: Fecha de timbrado
Estructura del XML Generado
<cfdi:Comprobante Version="4.0" TipoDeComprobante="T" SubTotal="0" Total="0" Moneda="XXX"> <cfdi:Emisor Rfc="TUE850101ABC" Nombre="Tu Empresa SA" RegimenFiscal="601"/> <cfdi:Receptor Rfc="ABC123456XYZ" Nombre="Cliente Destino" UsoCFDI="S01"/> <cfdi:Complemento> <cartaporte31:CartaPorte Version="3.1" TranspInternac="No" TotalDistRec="150"> <cartaporte31:Ubicaciones> <cartaporte31:Ubicacion TipoUbicacion="Origen" .../> <cartaporte31:Ubicacion TipoUbicacion="Destino" .../> </cartaporte31:Ubicaciones> <cartaporte31:Mercancias PesoBrutoTotal="500" UnidadPeso="KGM" NumTotalMercancias="1"> <cartaporte31:Mercancia BienesTransp="01010101" .../> <cartaporte31:Autotransporte PermSCT="TPAF01"> <cartaporte31:IdentificacionVehicular ConfigVehicular="C2" PlacaVM="ABC-123"/> <cartaporte31:Seguros AseguraRespCivil="Qualitas"/> </cartaporte31:Autotransporte> </cartaporte31:Mercancias> <cartaporte31:FiguraTransporte> <cartaporte31:TiposFigura TipoFigura="01" RFCFigura="PEGJ850101ABC" NumLicencia="D1234567"/> </cartaporte31:FiguraTransporte> </cartaporte31:CartaPorte> </cfdi:Complemento> <tfd:TimbreFiscalDigital UUID="..." FechaTimbrado="..."/> </cfdi:Comprobante>
Requisitos SAT para Carta Porte
| Distancia | Requisitos |
|---|---|
| < 30 km | No requiere Carta Porte (mercancia propia) |
| 30-50 km | Carta Porte opcional |
| > 50 km | Carta Porte OBLIGATORIO con todos los datos |
Para transporte > 50 km se requiere:
- Placas del vehiculo
- Configuracion vehicular
- Seguro de responsabilidad civil
- RFC del conductor
- Numero de licencia federal
Diagrama de Flujo
1. CONFIGURAR
Admin/Traslado
↓
2. CREAR VEHICULO
(Recursos)
3. CREAR CONDUCTOR
(Usuarios)
↓
4. CREAR PEDIDO
Tipo: Traslado
↓
5. ASIGNAR
Vehiculo, Conductor, Distancia, Fechas
↓
6. VALIDAR PEDIDO
↓
7. TIMBRAR CFDI TRASLADO
↓
8. RESULTADO
UUID + XML + PDF
Archivos Clave del Modulo
| Archivo | Funcion |
|---|---|
admin/traslado_setup.php |
Configuracion y creacion de extrafields |
class/handlers/OrderHandler.php |
Logica de timbrado de pedidos |
class/cfdi/CartaPorte31Generator.php |
Generador de XML Carta Porte 3.1 |
class/cfdi/SATCatalogHelper.php |
Catalogos SAT (estados, vehiculos, permisos) |
Resumen de Entidades y Campos
| Entidad | Modulo Dolibarr | Extrafields Clave |
|---|---|---|
| Vehiculo | Recursos | cfdixml_vehicle_type, cfdixml_vehicle_plate, cfdixml_permit_sct |
| Conductor | Usuarios | cfdixml_is_driver, cfdixml_rfc_conductor, cfdixml_driver_license |
| Pedido | Pedidos Clientes | cfdixml_tipo_orden, cfdixml_vehicle_attached, cfdixml_driver_attached |
Troubleshooting
Error: «Campo requerido faltante»
Verificar que todos los extrafields esten completos en el pedido. Verificar vehiculo y conductor asignados.
Error: «El pedido no es de tipo traslado»
Cambiar «Tipo de Orden» a «Orden de Traslado» en los extrafields del pedido.
Error: «Distancia total no especificada»
Completar el campo «Distancia Total (km)» en los extrafields del pedido.
Error del PAC
– Verificar credenciales en configuracion del modulo
– Verificar que el certificado este vigente
– Revisar logs en dolibarr/documents/dolibarr.log
