Importación de Documentos con API SuperFactura

Para importar documentos mediante la API SuperFactura, el proceso es muy similar a la emisión de documentos mediante archivos JSON o XML.

La única diferencia es que se debe agregar la opción adicional “Import” para indicar si estamos importando un documento “recibido” (compras) o “emitido” (ventas).

Ejemplos PHP

Importar un documento recibido

/**
 * Este ejemplo muestra como importar un documento recibido a SuperFactura.
 */

require_once('SuperFacturaAPI/api.php');

// 1) Generar arreglo con datos del DTE recibido

$datos = array(
	'Encabezado' => array(
		'IdDoc' => array(
			'Folio' => 123,
			'TipoDTE' => 33,
			'FchEmis' => '2015-01-01',
		),
		'Emisor' => array(
			'RUTEmisor' => '1-9',
			'RznSoc' => 'Test',
			'GiroEmis' => 'Giro',
			'DirOrigen' => 'Dirección',
			'CmnaOrigen' => 'Comuna',
			'CiudadOrigen' => 'Ciudad',
		),
		'Receptor' => array(
			// Acá basta con proporcionar el RUT de nuestro contribuyente
			'RUTRecep' => '99581150-2',
		),
		// 'Totales' será agregado por SuperFactura
	),
	'Detalles' => array(
		array(
			// 'NroLinDet' será agregado por SuperFactura
			'NmbItem' => 'Item 1',
			'DscItem' => 'Descripción del item 1',
			'QtyItem' => 3,
			'UnmdItem' => 'KG',
			'PrcItem' => 100,
		),
		array(
			'NmbItem' => 'Item 2',
			'DscItem' => 'Descripción del item 2',
			'QtyItem' => 5,
			'UnmdItem' => 'KG',
			'PrcItem' => 65,
		)
	),
);

// 2) Usar API para importra el DTE a SuperFactura

$api = new SuperFacturaAPI('usuario@cliente.cl', 'mypassword');
$resultado = $api->SendDTE($datos, 'cer', array( // 'pro' = ambiente producción y 'cer' = ambiente certificación
	'import' => 'recibido', // Indica que no queremos generar un DTE, sino importarlo como un documento recibido.
));

// 3) Procesar salida de la API

if($resultado['ok']) {
	die("Ok");

} else {
	die('Error');
}

Importar un documento emitido

/**
 * Este ejemplo muestra como importar un documento emitido a SuperFactura.
 */

require_once('SuperFacturaAPI/api.php');

// 1) Generar arreglo con datos del documento emitido

$datos = array(
	'Encabezado' => array(
		'IdDoc' => array(
			'Folio' => 1,
			'TipoDTE' => 30,
			'FchEmis' => '2015-01-01',
		),
		'Emisor' => array(
			// Acá basta con proporcionar el RUT de nuestro contribuyente
			'RUTEmisor' => '99581150-2',
		),
		'Receptor' => array(
			'RUTRecep' => '1-9',
			'RznSocRecep' => 'Test',
			'GiroRecep' => 'Giro',
			'DirRecep' => 'Dirección',
			'CmnaRecep' => 'Comuna',
			'CiudadRecep' => 'Ciudad',
		),
		// 'Totales' será agregado por SuperFactura
	),
	'Detalles' => array(
		array(
			// 'NroLinDet' será agregado por SuperFactura
			'NmbItem' => 'Item 1',
			'DscItem' => 'Descripción del item 1',
			'QtyItem' => 3,
			'UnmdItem' => 'KG',
			'PrcItem' => 100,
		),
		array(
			'NmbItem' => 'Item 2',
			'DscItem' => 'Descripción del item 2',
			'QtyItem' => 5,
			'UnmdItem' => 'KG',
			'PrcItem' => 65,
		)
	),
);

// 2) Usar API para importra el DTE a SuperFactura

$api = new SuperFacturaAPI('usuario@cliente.cl', 'mypassword');
$resultado = $api->SendDTE($datos, 'cer', array( // 'pro' = ambiente producción y 'cer' = ambiente certificación
	'import' => 'emitido', // Indica que no queremos generar un DTE, sino importarlo como un documento emitido.
));

// 3) Procesar salida de la API

if($resultado['ok']) {
	die("Ok");

} else {
	die('Error');
}

Leave a Comment