Ejemplo de factura complemento carta porte 2 autotransporte traslado PHP SDK
<?php
// Se desactivan los mensajes de debug
error_reporting(~(E_WARNING|E_NOTICE|E_DEPRECATED));
// Se especifica la zona horaria
date_default_timezone_set('America/Mexico_City');
// Se incluye el SDK
require_once '../../sdk2.php';
// Se especifica la version de CFDi 3.3
$datos['url'] = 'https://pac1.multifacturas.com/pac/timbrar.php?wsdl';
$datos['complemento'] = 'cartaporte20';
$datos['version_cfdi'] = '4.0';
$datos['validacion_local'] = 'NO';
// Ruta del XML Timbrado
$datos['cfdi']='../../timbrados/cfdi_ejemplo_factura_carta_porte20_autotransporte_traslado.xml';
// Ruta del XML de Debug
$datos['xml_debug']='../../timbrados/sin_timbrar_ejemplo_factura_carta_porte20_autotransporte_traslado.xml';
// Credenciales de Timbrado
$datos['PAC']['usuario'] = 'DEMO700101XXX';
$datos['PAC']['pass'] = 'DEMO700101XXX';
$datos['PAC']['produccion'] = 'NO';
// Rutas y clave de los CSD
$datos['conf']['cer'] = '../../certificados/EKU9003173C9.cer.pem';
$datos['conf']['key'] = '../../certificados/EKU9003173C9.key.pem';
$datos['conf']['pass'] = '12345678a';
// Datos de la Factura
$datos['factura']['serie'] = 'A';
$datos['factura']['folio'] = '659155';
$datos['factura']['fecha_expedicion'] = date('Y-m-d\TH:i:s', time() - 12000);
$datos['factura']['subtotal'] = 0;
$datos['factura']['moneda'] = 'XXX';
$datos['factura']['total'] = 0;
$datos['factura']['tipocomprobante'] = 'T';
$datos['factura']['LugarExpedicion'] = '26015';
$datos['factura']['Exportacion'] = '01';
// Datos del Emisor
$datos['emisor']['rfc'] = 'EKU9003173C9'; //RFC DE PRUEBA
$datos['emisor']['nombre'] = 'ESCUELA KEMPER URGATE'; // EMPRESA DE PRUEBA+
$datos['emisor']['RegimenFiscal'] = '603';
// Datos del Receptor
$datos['receptor']['rfc'] = 'EKU9003173C9';
$datos['receptor']['nombre'] = 'ESCUELA KEMPER URGATE';
$datos['receptor']['UsoCFDI'] = 'S01';
$datos['receptor']['DomicilioFiscalReceptor'] = '26015';
$datos['receptor']['RegimenFiscalReceptor'] = '601';
// Se agregan los conceptos
$datos['conceptos'][0]['cantidad'] = 1.00;
$datos['conceptos'][0]['unidad'] = 'SERVICIO';
$datos['conceptos'][0]['ID'] = "M7390Z";
$datos['conceptos'][0]['descripcion'] = "FLETE";
$datos['conceptos'][0]['valorunitario'] = 25000.00;
$datos['conceptos'][0]['importe'] = 25000.00;
$datos['conceptos'][0]['ClaveProdServ'] = '78101802';
$datos['conceptos'][0]['ClaveUnidad'] = 'E48';
$datos['conceptos'][0]['ObjetoImp'] = '01';
// Complemento carta porte
$datos['cartaporte20']['atrs']['TranspInternac']='No';
$datos['cartaporte20']['atrs']['TotalDistRec']='1';
//////// UBICACION 0
$datos['cartaporte20']['Ubicacion'][0]['atrs']['IDUbicacion'] = 'OR101010'; //Atributo condicional para registrar una clave que sirva para identificar el punto de salida o entrada de los bienes y/o mercanc�as que se trasladan a trav�s de los distintos medios de transporte, la cual estar� integrada de la siguiente forma: para origen el acr�nimo �OR� o para destino el acr�nimo �DE� seguido de 6 d�gitos num�ricos asignados por el contribuyente que emite el comprobante para su identificaci�n.
$datos['cartaporte20']['Ubicacion'][0]['atrs']['TipoUbicacion'] = 'Origen'; //Atributo requerido para precisar si el tipo de ubicaci�n corresponde al origen o destino de las ubicaciones para el traslado de los bienes y/o mercanc�as en los distintos medios de transporte.
$datos['cartaporte20']['Ubicacion'][0]['atrs']['RFCRemitenteDestinatario'] = 'EKU9003173C9'; //Atributo requerido para registrar el RFC del remitente o destinatario de los bienes y/o mercanc�as que se trasladan a trav�s de los distintos medios de transporte.
$datos['cartaporte20']['Ubicacion'][0]['atrs']['FechaHoraSalidaLlegada'] = '2021-11-01T00:00:00'; //Atributo requerido para registrar la fecha y hora estimada en la que salen o llegan los bienes y/o mercanc�as de origen o al destino, respectivamente. Se expresa en la forma AAAA-MM-DDThh:mm:ss.
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['Referencia'] = 'casa blanca 1'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['Pais'] = 'MEX'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['NumeroInterior'] = '3333'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['NumeroExterior'] = '4444'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['Municipio'] = '004'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['Localidad'] = '23'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['Estado'] = 'COA'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['Colonia'] = '0347'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['CodigoPostal'] = '25350'; //Atributo
$datos['cartaporte20']['Ubicacion'][0]['domicilio']['Calle'] = 'CALLE'; //Atributo
//////// UBICACION 1
$datos['cartaporte20']['Ubicacion'][1]['atrs']['IDUbicacion'] = 'DE202020'; //Atributo condicional para registrar una clave que sirva para identificar el punto de salida o entrada de los bienes y/o mercanc�as que se trasladan a trav�s de los distintos medios de transporte, la cual estar� integrada de la siguiente forma: para origen el acr�nimo �OR� o para destino el acr�nimo �DE� seguido de 6 d�gitos num�ricos asignados por el contribuyente que emite el comprobante para su identificaci�n.
$datos['cartaporte20']['Ubicacion'][1]['atrs']['TipoUbicacion'] = 'Destino'; //Atributo requerido para precisar si el tipo de ubicaci�n corresponde al origen o destino de las ubicaciones para el traslado de los bienes y/o mercanc�as en los distintos medios de transporte.
$datos['cartaporte20']['Ubicacion'][1]['atrs']['RFCRemitenteDestinatario'] = 'AAA010101AAA'; //Atributo requerido para registrar el RFC del remitente o destinatario de los bienes y/o mercanc�as que se trasladan a trav�s de los distintos medios de transporte.
$datos['cartaporte20']['Ubicacion'][1]['atrs']['FechaHoraSalidaLlegada'] = '2021-11-01T01:00:00'; //Atributo requerido para registrar la fecha y hora estimada en la que salen o llegan los bienes y/o mercanc�as de origen o al destino, respectivamente. Se expresa en la forma AAAA-MM-DDThh:mm:ss.
$datos['cartaporte20']['Ubicacion'][1]['atrs']['DistanciaRecorrida'] = '1'; //Atributo condicional para registrar en kil�metros la distancia recorrida entre la ubicaci�n de origen y la de destino parcial o final, por los distintos medios de transporte que trasladan los bienes y/o mercanc�as.
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['Referencia'] = 'casa blanca 2'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['Pais'] = 'MEX'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['NumeroInterior'] = '3333'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['NumeroExterior'] = '4445'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['Municipio'] = '004'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['Localidad'] = '23'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['Estado'] = 'COA'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['Colonia'] = '0347'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['CodigoPostal'] = '25350'; //Atributo
$datos['cartaporte20']['Ubicacion'][1]['domicilio']['Calle'] = 'CALLE'; //Atributo
//MERCANCIA DATOS GENERALES
$datos['cartaporte20']['Mercancias']['atrs']['PesoBrutoTotal']='1.0';
$datos['cartaporte20']['Mercancias']['atrs']['UnidadPeso']='XBX';
$datos['cartaporte20']['Mercancias']['atrs']['NumTotalMercancias']='1';
//////// MERCANCIA 0
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['atrs']['BienesTransp']='11121900';
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['atrs']['Descripcion']='Productos de perfumer�a';
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['atrs']['Cantidad']='1.0';
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['atrs']['ClaveUnidad']='XBX';
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['atrs']['PesoEnKg']='1.0';
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['atrs']['MaterialPeligroso']='No';
//Cantidad transporta
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['CantidadTransporta'][0]['IDOrigen']='OR101010';
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['CantidadTransporta'][0]['IDDestino']='DE202020';
//$datos['cartaporte20']['Mercancias'][0]['Mercancia']['CantidadTransporta'][0]['CvesTransporte']='CvesTransporte';
$datos['cartaporte20']['Mercancias'][0]['Mercancia']['CantidadTransporta'][0]['Cantidad']='1';
//Autotransporte
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['atrs']['PermSCT']='TPAF01';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['atrs']['NumPermisoSCT']='NumPermisoSCT';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['IdentificacionVehicular']['PlacaVM']='plac892';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['IdentificacionVehicular']['ConfigVehicular']='VL';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['IdentificacionVehicular']['AnioModeloVM']='2020';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['Seguros']['PolizaRespCivil']='123456789';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['Seguros']['AseguraRespCivil']='SW Seguros';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['Seguros']['AseguraCarga']='SW Seguros';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['Remolque'][0]['SubTipoRem']='CTR004';
$datos['cartaporte20']['Mercancias'][0]['Autotransporte']['Remolque'][0]['Placa']='VL45K98';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['atrs']['TipoFigura']='01';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['atrs']['RFCFigura']='AULM87053035A';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['atrs']['NumLicencia']='984948';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Calle']='Mirlo';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['NumeroExterior']='1235';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['NumeroInterior']='001';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Colonia']='0479';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Localidad']='03';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Referencia']='Referencia';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Municipio']='039';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Estado']='JAL';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Pais']='MEX';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['CodigoPostal']='44910';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['Domicilio']['Municipio']='039';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['RFCOperador']='AULM87053035A';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['NumLicencia']='984948';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['NombreOperador']='Mart�n Aguirre Luna';
//$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['NumRegIdTribOperador']='NumRegIdTribOperador';
$datos['cartaporte20']['FiguraTransporte']['TiposFigura'][0]['ResidenciaFiscalOperador']='ResidenciaFiscalOperador';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Calle']='Mirlo';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['NumeroExterior']='1235';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['NumeroInterior']='001';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Colonia']='0479';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Localidad']='03';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Referencia']='Referencia';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Municipio']='039';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Estado']='JAL';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Pais']='MEX';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['CodigoPostal']='44910';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['Domicilio']['Municipio']='039';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['RFCOperador']='AULM87053035A';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['NumLicencia']='984948';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['NombreOperador']='Mart�n Aguirre Luna';
// //$datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['NumRegIdTribOperador']='NumRegIdTribOperador';
// $datos['cartaporte20']['FiguraTransporte']['Operadores'][0]['ResidenciaFiscalOperador']='ResidenciaFiscalOperador';
// Se ejecuta el SDK
$res = mf_genera_cfdi4($datos);
/////////// MOSTRAR RESULTADOS DEL ARRAY $res ///////////
echo "<h1>Respuesta Generar XML y Timbrado</h1>";
foreach($res AS $variable=>$valor)
{
$valor=htmlentities($valor);
$valor=str_replace('<br/>','<br/>',$valor);
echo "<b>[$variable]=</b>$valor<hr>";
}