Guía factura traslado

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
Email 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:

  1. Verifica que sea tipo «traslado»
  2. Obtiene datos del vehiculo del recurso
  3. Obtiene datos del conductor del usuario
  4. 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
  5. Envia al PAC (Finkok) para timbrado
  6. Guarda UUID y XML en el pedido

7.3 Resultado exitoso

Se almacena en los extrafields del pedido:
cfdixml_traslado_uuid_order: UUID del timbrado
cfdixml_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

Modulo CFDI XML para Dolibarr • Version Carta Porte 3.1

Generado el