Problemas con AntiVirus y API para DOS

Recientemente algunos usuarios que operan con Software integrado con la API SuperFactura para DOS, han reportado problemas ocasionados por su AntiVirus, tras lo cual el comando superfactura.exe entrega el siguiente mensaje de error:

cannot represent a stream of type RES as a STDIO FILE*

Este problema en algunos casos persiste incluso tras desactivar el AntiVirus y volver a copiar los archivos originales, siendo necesario renombrar el archivo superfactura.exe por otro nombre o ejecutarlo desde otra carpeta.

Para solucionar en forma definitiva, recomendamos a los usuarios reemplazar el comando superfactura.exe por una nueva versión:

Obtención del Certificado Digital

Para una atención más expedita, el representante legal de la empresa puede comprar el certificado digital directamente a través de SuperFactura.

Valor del Certificado

  • Vigencia de 1 año: $12.605 + IVA = $15.000
  • Vigencia de 3 años: $18.319 + IVA = $21.800

Instrucciones para Solicitar el Certificado

ADVERTENCIA: Una vez ingresada la solicitud, no será posible anular la compra ni reembolsar el monto pagado. Para poder obtener el certificado digital, el solicitante deberá completar el proceso de validación de identidad que será realizado por una empresa tercera.

Para obtener su certificado digital, debe completar estos 3 pasos:

1) Depositar o transferir el valor total a la cuenta:

Banco :Banco Estado
Nombre Titular :SuperFactura SpA
RUT :76.711.612-8
Cuenta :22870072060
Tipo de Cuenta :Chequera Electrónica
E-Mail :(no enviarnos comprobantes)

2) Ingresar una solicitud aquí.

Tenga presente que, una vez ingresada y pagada la solicitud, ya no será posible anular la compra. Además, para completar el proceso, se debe validar la identidad del solicitante.

3) Seguir el instructivo que le será enviado por E-mail tras ingresar la solicitud.

  • El instructivo indica como realizar el proceso de validación de identidad del solicitante.
  • El certificado digital será enviado únicamente al E-mail que se indique en la solicitud y cargado a la ficha del contribuyente.
  • Clientes Nuevos: Si aún no ha registrado el contribuyente en SuperFactura, por favor, siga estas instrucciones antes de ingresar la solicitud. Debe dejar el blanco el campo “Certificado Digital” ya que este será subido por SuperFactura posteriormente.
  • Puede revisar que el certificado digital funciona correctamente acá.

Plazo de Entrega

Si la solicitud se ingresa correctamente y se siguen todas las instrucciones para completar la validación de identidad, el certificado digital se entregará en solo un par de minutos.

En caso contrario, el plazo de entrega se puede extender a aprox. 1 o 2 días hábiles, dependiendo de la facilidad del ejecutivo para lograr contactar al solicitante y completar la validación de identidad.

Corregir el XML de un Documento

Para corregir el código XML de documento tributario:

  • ADVERTENCIA: La opción para corregir XML está orientada exclusivamente a programadores o personas con dominio del formato XML definido por el SII. En caso contrario, sugerimos simplemente anular el folio y emitir un nuevo documento.
  • Si recibió el informe de errores por correo, acceda a través del link “Anular o Corregir”.
  • En caso contrario:
    • Ingrese al menú Documentos Emitidos
    • Antes de poder modificar el XML, debe verificar que el documento no haya sido recibido por el SII, utilizando el botón “Revisar”.
    • Abra el documento con el botón con ícono de lápiz que está a la derecha de la página.
  • Modifique el campo “XML” y presione el botón “Aceptar”.
  • Si ya se había entregado el PDF al cliente, deberá hacerle llegar el nuevo PDF, ya que el primero no tendrá ninguna validez.
  • Se recomienda que la corrección del XML la haga el programador del Software Propio y que además se corriga el error en el Software Propio, o en los procesos , idealmente incorporando validaciones previas a la generación del DTE.

Certificado Digital de Emergencia

Para emitir facturas, timbrar folios y realizar todas las operaciones requeridas por un facturador electrónico, es necesario contar con un certificado digital.

Dado que los certificados digitales se vencen, para reducir el riesgo de que un contribuyente quede sin la posibilidad de facturar, SuperFactura registra en el SII un certificado digital de emergencia, el cual permite timbrar folios y facturas.

Es importante advertir que el certificado de emergencia no permitirá realizar todas las operaciones que permite el certificado digital del representante legal, tales como anular folios, rectificar RCOFs y envíos de libros, enviar RCOF para certificación y emisión de boletas, realizar traspaso a producción, etc).

Por lo tanto, si bien la emisión de facturas y boletas puede seguir operando con el certificado de emergencia, se recomienda siempre mantener cargado un certificado vigente.

Tenga presente que SuperFactura le notificará por E-mail cuando un certificado digital ha expirado.

Certificado Digital del Representante Legal

Para que un contribuyente pueda operar como facturador electrónico, se require el certificado digital del representante legal de la empresa.

En la práctica, este certificado consiste en un archivo con extensión .PFX que se carga en el portal MIPYME del SII para poder emitir facturas, así que probablemente su empresa ya cuenta con uno actualmente. Le sugerimos consultar al contador o al representante legal de su empresa.

Si por alguna razón no le es posible obtener el certificado digital, puede solicitar uno nuevo aquí.

Si compró el certificado a otro proveedor, una vez obtenido el certificado, debe subirlo en la ficha del contribuyente en SuperFactura:

  1. Ingrese al menú Mis Contribuyentes
  2. Al lado derecho de la página, ingrese al botón para “Ver o Modificar”.
  3. Suba el certificado digital (archivo .PFX) en el campo “Certificado Digital” e ingrese la contraseña en el campo “Contraseña del Certificado”.
  4. Presione el botón Aceptar abajo al final de la página.
  5. Puede revisar que el certificado digital funciona correctamente acá.

Descuentos y Recargos

De acuerdo a la especificación oficial del SII, los descuentos y recargos se pueden aplicar a una linea de detalle específica, o en forma global, es decir, sobre el precio final.

Descuentos y Recargos por Detalle

Los descuentos por linea de detalle se definen con los tags DescuentoPctDescuentoMonto:

{
	"Encabezado": {
		...
	},
	"Detalle" : [
		{
			"NroLinDet" : "1",
			"NmbItem" : "Producto con descuento",
			"QtyItem" : "698",
			"PrcItem" : "5417",
			"DescuentoPct" : "9",
			"DescuentoMonto" : "340296",
			"MontoItem" : "3440770"
		}
	]
}

Es importante notar que DescuentoMonto corresponderá al monto del descuento calculado sobre el monto original (QtyItemPrcItem), y que MontoItem corresponderá al monto resultante tras aplicar el descuento.

Si se indica “DescuentoPct” tambien se debe indicar “DescuentoMonto”.

En forma análoga, también es posible aplicar recargos por linea de detalle con los tags RecargoPctRecargoMonto.

Descuentos y Recargos Globales

También es posible definir descuentos y recargos globales con los siguientes tags:

{
	"Encabezado": {
		...
	},
	"Detalle": [
		...
	],
	"DscRcgGlobal": [
		{
			"NroLinDR": "1", // Número de linea
			"TpoMov": "D", // Indica que es un descuento
			"GlosaDR": "Descuento de Ejemplo",
			"TpoValor": "%", // Puede ser "%" (porcentaje) o "$" (monto)
			"ValorDR": "30", // Porcentaje o monto del descuento o recargo
			"IndExeDR": "1" // Indica que afecta a un item exento de IVA
		}
	]
}

Cesión de Créditos

Para hacer una cesión de crédito (factoring), se debe:

  1. Ingresar al listado de documentos emitidos y ubicar la factura que se desea ceder.
  2. Desplazarse hacia la derecha de la pantalla usando la barra de desplazamiento que está al final de la página.
  3. Hacer click en el botón “Cesión de Crédito”.
  4. Completar el formulario “Cesión de Crédito”. Observar que sólo los campos en color rojo son requeridos técnicamente. Consulte a su empresa de factoring los aspectos legales e información en general requerida para completar el formulario.

Impresión de PDF

Software de Impresión

Para imprimir el PDF entregado por SuperFactura a una impresora de inyección de tinta, se pueden utilizar diversos Software. Por ejemplo:

  • https://www.sumatrapdfreader.org/download-free-pdf-viewer.html
  • https://github.com/itext/itextsharp
  • http://www.columbia.edu/~em36/pdftoprinter.html

Para imprimir con impresoras térmicas, ver aquí.

Asignación de Contribuyentes a Usuarios

Para poder operar con un contribuyente registrado en SuperFactura, es necesario autenticarse con la cuenta de usuario a la cual está asociado dicho contribuyente.

Así mismo, para poder emitir documentos electrónicos con SuperFactura desde un Software Propio , es necesario configurar la cuenta de usuario y contraseña en el Software para que éstos le sean pasado como parámetros a la API de SuperFactura.

Recuperación de la Contraseña

SuperFactura no guarda las contraseñas de sus usuarios.

Dado que el usuario y contraseña están configurados en el Software Propio, en caso de olvido, puede consultar estos datos al proveedor del Software.

Reasignación de Contribuyentes

Los contribuyentes pueden ser reasignados a un usuario distinto. Esto generalmente se hace necesario cuando el contribuyente fue creado inicialmente desde una cuenta de usuario distinta a la que será usada de forma definitiva.

Para reasignar un contribuyente a una nueva cuenta de usuario se debe:

  1. Crear la nueva cuenta de usuario
  2. Ingresar al menú Administración > Reasignar Contribuyente
  3. Seleccionar el contribuyente e ingresar la nueva cuenta del usuario.

IMPORTANTE: Si se utiliza un Software Propio integrado con la API de SuperFactura,  se deberá además configurar el nuevo usuario y contraseña en el Software Propio para que éste pueda seguir operando correctamente.

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');
}