Envío de Libros Electrónicos de Compra y Venta

Actualización

A partir del periodo tributario de agosto 2017, los libros deben ser enviados únicamente a través del Registro de Compras y Ventas del SII.

El módulo de envío de libros de SuperFactura seguirá disponible para subir los resúmenes de boletas emitidas via SuperFactura al Registro de Compras y Ventas del SII, y enviar libros de periodos anteriores a agosto 2017.

Para efectos de la declaración del F29, es importante destacar que:

Envío de Libros

SuperFactura genera los libros de compra y venta en forma automática.

libro

Los documentos de compra son recibidos via E-mail y agregados automáticamente al libro de compra.

Sin embargo, los documentos recibidos en papel o aquellos que no fueron enviados correctamente por el proveedor, deben ser ingresados manualmente.

Visualización de Documentos

Al hacer click sobre el folio de un documento, se abre la ficha del DTE presentando su XML y muestra impresa PDF.

En el caso de los documentos de compra electrónica recibidos, también es posible generar una muestra impresa de la factura para visualizar los detalles del documento electrónico en una forma más amigable.

Ingreso Manual de Documentos Recibidos

Si faltara algún documento y necesita ingresarlo manualmente, ver aquí.

Excluir Documentos o Declararlos en Otro Periodo

Los documentos de compra se cargarán al libro indicado por el campo Periodo Libro.

Si no ha seleccionado el campo Periodo Libro, estos se cargarán automáticamente en el mes tributario correspondiente a la fecha de emisión del documento.

Si necesita cargar el documento en un libro de otro mes, deberá:

  1. Abrir el documento (en el libro de compras puede hacer click en el folio del documento)
  2. En la ficha del documento, especifique un valor en el campo Periodo Libro indicando el mes tributario en el cual desea cargar dicho documento.

En caso de querer excluir un documento del libro,  debe marcar el campo Excluir del Libro.

Envío de Libros de Periodos Anteriores

Por defecto, SuperFactura sólo muestra los últimos periodos. Para revisar y enviar un libro anterior, se puede indicar el periodo en la URL. Por ejemplo, para Mayo 2016, se debe ingresar a:
http://superfactura.cl/content/enviar-libros?periodo=2016-05

Revisar Libros Recibidos por el SII

SuperFactura enviará siempre un informe con el resultado del envío de los libros y su revisión por parte del SII. Alternativamente, también es posible verificar la recepción y aceptación de los libros directamente en el portal del SII (requiere instalación del certificado digital).

Consideraciones Adicionales

  • Los libros de compra, venta y guías se pueden enviar varias veces al SII simplemente presionando el botón de envío. El segundo envío se enviará al SII como una rectificación. Tenga además presente que el F29 debe ser consistente y que será necesario rectificarlo si la información cambiara.
  • Para ingresar los resúmenes de boletas y vouchers al libro de ventas, ver este link.

Observaciones Generales en DTE

Curiosamente la especificación del SII no soporta incorporar observaciones generales en una factura electrónica, sin embargo, muchas veces será deseable incluir observaciones en la muestra impresa PDF.

Para estos casos, SuperFactura ofrece tags adicionales que no son enviados al SII, pero que si serán incluídos en la muestra impresa PDF.

Solo se soportan los tags indicados a continuación.

Ejemplo JSON:

{
	"SuperFactura" : {
    	"Observaciones" : "Acá puede agregar observaciones\nen varias lineas.",
		"Sucursal" : "Dirección de mi sucursal",
		"HoraEmis" : "12:34:56",
        "LeySubvenciones" : 1
	},
	"Encabezado" : {
		...
	}
}

Ejemplo XML:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<DTE version="1.0">
	<Documento ID="N123">
		<SuperFactura>
			<Observaciones>Esta es una observación general.</Observaciones>
		</SuperFactura>
		<Encabezado>
			...

Archivos CAF y Consumo de Folios

La generación de documentos tributarios electrónicos (DTE) funciona en forma similar al timbraje de documentos en papel, en el sentido de que el SII controla los folios (números de documentos) autorizados para cada contribuyente.

Técnicamente, esto se realiza mediante la descarga de los llamados “archivos CAF” (Código de Autorización de Folios) que se pueden entender como una contraseña requerida para generar documentos válidos.

A diferencia de otros proveedores, SuperFactura se encarga de obtener y consumir los archivos CAF en forma 100% automática y transparente al usuario, de manera que nos podemos olvidar por completo de la existencia de estos archivos.

Así mismo, para no tener que lidiar con números de folios, podemos simplemente omitir el tag <Folio> en nuestro XML y dejar que SuperFactura asigne el próximo folio disponible automáticamente por nosotros.

En el menú Administración > Folios Utilizados podremos ver los últimos folios utilizados por cada tipo de documento.

SuperFactura también soporta la asignación manual de folios, sin embargo, esto se considera una mala práctica ya que el Software Propio no siempre será capaz de determinar que folios siguen vigentes para ser utilizados. Para más información, consulte a soporte@superfactura.cl.

Vencimiento de Folios

Los archivos CAF se vencen después de un tiempo definido por el SII, y son anulados automáticamente por SuperFactura si es que no se utilizaron, para así evitar la emisión de documentos inválidos.

Por esta razón, es posible que existan saltos en los folios. Por ejemplo, si se ha emitido el folio 100 y los folios 101 al 199 se vencieron, entonces el próximo folio a emitir será el folio 200.

En el peor de los casos, puede ocurrir que tras el vencimiento y anulación de los folios, el SII no autorice nuevos timbrajes, lo cual se tratará en detalle aquí.

Notas de Crédito

Las Notas de Crédito se pueden generar facilmente con el botón “Anular” en el listado de documentos emitidos de SuperFactura y también a través del Facturador Web. El siguiente instructivo explica como generar las Notas de Crédito a través de la API de SuperFactura.

Las Notas de Crédito Electrónicas se emiten en forma muy similar a las Facturas, con la única diferencia de que el TipoDTE debe ser 61 y además se deben incorporar una referencia al documento que es anulado o corregido.

Acá presentamos un ejemplo de una Nota de Crédito haciendo referencia a la Factura anulada mediante el tag <Referencia>.

Si bien el ejemplo es en formato XML, se sugiere siempre utilizar el formato JSON que es mucho más flexible y sencillo (ver ejemplos JSON).

En el caso de las NC, es importante especificar el tipo de corrección con el tag <CodRef> que puede ser: 1 = anula documento, 2 = corrige texto o 3 = corrige montos. Para más información, ver la especificación oficial del SII.

<?xml version="1.0" encoding="ISO-8859-1"?>
<Document>
	<DTE version="1.0">
		<Encabezado>
			<IdDoc>
				<TipoDTE>61</TipoDTE>
				<Folio>56</Folio>
				<FchEmis>2016-05-19</FchEmis>
			</IdDoc>
			<Emisor>
				<RUTEmisor>99581150-9</RUTEmisor>
			</Emisor>
			<Receptor>
				<RUTRecep>1-9</RUTRecep>
				<RznSocRecep>RAZON CLIENTE</RznSocRecep>
				<GiroRecep>GIRO CLIENTE</GiroRecep>
				<DirRecep>DIRECCION CLIENTE</DirRecep>
				<CmnaRecep>COMUNA CLIENTE</CmnaRecep>
				<CiudadRecep>CIUDAD CLIENTE</CiudadRecep>
			</Receptor>
			<Totales>
				<MntNeto>57000</MntNeto>
				<MntExe>0</MntExe>
				<TasaIVA>19</TasaIVA>
				<IVA>10830</IVA>
				<MntTotal>67830</MntTotal>
			</Totales>
		</Encabezado>
		<Detalle>
			<NroLinDet>1</NroLinDet>
			<NmbItem>KG DE PALTAS HASS CAL. 32</NmbItem>
			<QtyItem>1140</QtyItem>
			<UnmdItem>KG</UnmdItem>
			<PrcItem>50</PrcItem>
			<MontoItem>57000</MontoItem>
		</Detalle>
		<Referencia>
			<NroLinRef>1</NroLinRef>
			<TpoDocRef>33</TpoDocRef>
			<FolioRef>735</FolioRef>
			<FchRef>2016-05-19</FchRef>
			<CodRef>3</CodRef>
		</Referencia>
	</DTE>
</Document>

Observaciones

  • Al generar una NC que corrige textos (CodRef = 2) con el Facturador Web, se debe ingresar una linea de detalle con cantidad = 1 y una descripción especificando la corrección (ejemplo: “Donde dice X debe decir Y”).
  • Las boletas de venta afectas y exentas se anulan mediante la emisión de una NC. Es importante tener en cuenta que el formato para boletas no es idéntico al formato para las Notas de Crédito.
  • Si se anula una Boleta Afecta, es importante indicar explícitamente en la NC que los montos son brutos.
  • Si se anula una Boleta Exenta, es importante agregar el tag “IndExe” en los detalles para indicar que se trata de un precio no afecto o exento de IVA.

Facturas Electrónicas con Impuestos Adicionales

De acuerdo a la especificación del SII, los impuestos adicionales deben indicarse en el tag <CodImpAdic> dentro de los detalles y también en el tag <ImptoReten> en los totales, donde además se requiere indicar la tasa y el monto del impuesto.

Para simplificar la integración, SuperFactura permite calcular varios valores en forma automática. Si, por ejemplo, omitimos el tag <ImptoReten> que va en los totales, o si eliminamos por completo el tag <Totales>, SuperFactura lo generará automáticamente.

A continuación presentamos ejemplos completos mostrando el uso de los tags <CodImpAdic>, <ImptoReten> y <TasaImp>.

Ejemplo en XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<Document xmlns="http://www.sii.cl/SiiDte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sii.cl/SiiDte dte.xsd">
	<DTE version="1.0">
		<Encabezado>
			<IdDoc>
				<TipoDTE>33</TipoDTE>
				<Folio>123</Folio>
				<FchEmis>2015-04-09</FchEmis>
			</IdDoc>
			<Emisor>
				<RUTEmisor>99581150-2</RUTEmisor>
				<RznSoc>IMATRONIX S A</RznSoc>
				<GiroEmis>SISTEMAS DE INFORMACIÓN EMPRESARIALES</GiroEmis>
				<Acteco>726000</Acteco>
				<CdgSIISucur>065955163</CdgSIISucur>
				<DirOrigen>Dirección de ejemplo</DirOrigen>
				<CmnaOrigen>VINA DEL MAR</CmnaOrigen>
				<CiudadOrigen>VINA DEL MAR</CiudadOrigen>
				<CdgVendedor>XXX</CdgVendedor>
			</Emisor>
			<Receptor>
				<RUTRecep>1-9</RUTRecep>
				<RznSocRecep>Test</RznSocRecep>
				<GiroRecep>Giro</GiroRecep>
				<CorreoRecep>dte@cliente.cl</CorreoRecep>
				<DirRecep>Dirección</DirRecep>
				<CmnaRecep>Comuna</CmnaRecep>
				<CiudadRecep>Ciudad</CiudadRecep>
			</Receptor>
			<Totales>
				<MntNeto>64475</MntNeto>
				<MntExe>0</MntExe>
				<TasaIVA>19</TasaIVA>
				<IVA>12250</IVA>
				<ImptoReten>
					<TipoImp>26</TipoImp>
					<TasaImp>20.5</TasaImp>
					<MontoImp>6494</MontoImp>
				</ImptoReten>
				<ImptoReten>
					<TipoImp>271</TipoImp>
					<TasaImp>18</TasaImp>
					<MontoImp>5903</MontoImp>
				</ImptoReten>
				<MntTotal>89122</MntTotal>
			</Totales>
		</Encabezado>
		<Detalle>
			<NroLinDet>1</NroLinDet>
			<CdgItem>
				<TpoCodigo>INT</TpoCodigo>
				<VlrCodigo>75032715</VlrCodigo>
			</CdgItem>
			<NmbItem>CORONA EXTRA 355 CC 4.6</NmbItem>
			<DscItem>CORONA EXTRA 355 CC 4.6</DscItem>
			<UnmdRef>UNI</UnmdRef>
			<QtyItem>72</QtyItem>
			<UnmdItem>UNI</UnmdItem>
			<PrcItem>440</PrcItem>
			<CodImpAdic>26</CodImpAdic>
			<MontoItem>31680</MontoItem>
		</Detalle>
		<Detalle>
			<NroLinDet>2</NroLinDet>
			<NmbItem>Coca-Cola</NmbItem>
			<DscItem>Coca-Cola</DscItem>
			<UnmdRef>UNI</UnmdRef>
			<QtyItem>36</QtyItem>
			<UnmdItem>UNI</UnmdItem>
			<PrcItem>911</PrcItem>
			<CodImpAdic>271</CodImpAdic>
			<MontoItem>32796</MontoItem>
		</Detalle>
	</DTE>
</Document>

Ejemplo en PHP

En este otro ejemplo, hemos dejado que SuperFactura calcule los totales por nosotros.

$datos = array(
	'Encabezado' => array(
		'IdDoc' => array(
			'TipoDTE' => 33,
			// <Folio> es agregado por SuperFactura
			'FchEmis' => '2015-04-09',
		),
		'Emisor' => array(
			'RUTEmisor' => '99581150-2',
			// Los demás datos son agregados por SuperFactura
			'CdgVendedor' => 'XXX'
		),
		'Receptor' => array(
			'RUTRecep' => '1-9',
			'RznSocRecep' => 'Test',
			'GiroRecep' => 'Giro',
			'CorreoRecep' => 'dte@cliente.cl',
			'DirRecep' => 'Dirección',
			'CmnaRecep' => 'Comuna',
			'CiudadRecep' => 'Ciudad',
		)
	),
	'Detalle' => array(
		array(
			// 'NroLinDet' => 1, // Opcional. Agregado por SuperFactura
			'CdgItem' => array(
				'TpoCodigo' => 'INT',
				'VlrCodigo' => '75032715',
			),
			'NmbItem' => 'CORONA EXTRA 355 CC 4.6',
			'DscItem' => 'CORONA EXTRA 355 CC 4.6',
			'UnmdRef' => 'UNI',
			'QtyItem' => 72,
			'UnmdItem' => 'UNI',
			'PrcItem' => 440,
			'CodImpAdic' => 26, // Tasa del 15%. Cervezas y bebidas alcohólicas
			// 'MontoItem' => ..., // Opcional. Agregado por SuperFactura
		),
		array(
			'NmbItem' => 'Coca-Cola',
			'DscItem' => 'Coca-Cola',
			'UnmdRef' => 'UNI',
			'QtyItem' => 36,
			'UnmdItem' => 'UNI',
			'PrcItem' => 911,
			'CodImpAdic' => 271, // Tasa del 18%. Bebidas analcohólicas y Minerales con elevado contenido de azúcares, según DL 825/74, Art. 42, letra a) Inciso Segundo
		)
		// ...
	)
);

Factura Electrónica con Clipper

Un cliente tiene implementado en varias empresas un Software ERP que desarrolló hace años en el lenguaje Clipper.

Convencido de que Clipper está obsoleto y que carece de las funcionalidades necesarias para poder implementar facturación electrónica, decidió migrar su Software a PHP.

En eso llevaba varios meses, para lo cual había contratado a un joven programador con conocimientos de PHP. De hecho, tras la primera semana dejamos integrado su nuevo Software en PHP con el servicio de SuperFactura. Sin embargo, tal como supuse desde un inicio, la migración no resultó sencilla y su nuevo Software no incluía todas las funcionalidades de su versión original en Clipper.

La semana pasada me llamó y me dijo preocupado “No voy a alcanzar. Aún me falta migrar varios módulos sin los cuales mi nuevo Software no podrá comenzar a operar en la empresa”.

A pesar de que ya la he había ayudado a integrar su nuevo Software en PHP con la API de SuperFactura, le pregunté “Oye, ¿pero porque no mantienes tu Software en Clipper y lo integras con SuperFactura?“…plop.

Dicho y hecho. Le expliqué que la opción más sencilla era generar un archivo de texto desde su Software en Clipper y utilizar la API SuperFactura para integrar otros lenguajes para enviar el DTE al SII.

No se que habrá pasado con el programador PHP que contrató o si algún día terminará de migrar su Software de Clipper a PHP, pero por lo menos ya solucionó su cacho de incorporar facturación electrónica en su Software y tener a sus clientes facturando a tiempo.

Facturar con Software Propio

Generalmente, la facturación es sólo una parte de un sistema, y la mayoría de las empresas ya cuentan con algún software o ERP que hace mucho más que facturar. Incluso, es muy probable que su Software opere de una forma específica, diseñado a la medida de su empresa.

La mayoría de las soluciones de facturación electrónica que hemos visto en el mercado ofrecen un software que quizás es superior a la solución gratuita que ofrece el SII, el portal MIPYME, pero que no le llega ni a los talones al Software Propio o ERP que fue diseñado y continuamente adaptado de acuerdo a la realidad de su empresa.

Así, muchas empresas se encuentran con el problema de que todas las soluciones de facturación electrónica que se publicitan en los medios con atractivas fotos y mensajes, en realidad ninguna les sirve, porque tendrían que cambiar su Software Propio por él que les ofrece el proveedor de facturación electrónica, o porque tendrían que trabajar en ambos y redigitar la factura a mano.

Esto claramente sería un despropósito, porque lo que las  empresas requieren es una solución de facturación electrónica que se integra directamente con el Software Propio que ya está usando la empresa.

Para estos proveedores, el costo de integrar la factura electrónica en un Software Propio es tan alto en horas hombre de ingeniería, que su estrategia es ofrecer un nuevo software ya integrado, y tratar de reemplazar el Software o ERP que utiliza actualmente la empresa.

En realidad, el mercado no ofrece facturación electrónica, sino un ERP genérico que incluye facturación electrónica.

Después de 15 años implementando sistemas en empresas, tengo más que claro que, por muy imperfecto que sea el Software de su empresa, reemplazarlo por uno nuevo no es tarea sencilla, pues involucra cambiar muchas cosas ya arraigadas en la organización. Y la verdad es que, por muy bonito que sean las fotos de los avisos para promocionar estas soluciones con facturación electrónica, ningún Software genérico puede reemplazar el Software que fue diseñado y mejorado para su empresa durante años.

Más vale diablo conocido, así que lo que se debe hacer no es cambiar de Software, sino integrarlo.

A diferencia de las otras soluciones de facturación electrónica que existen en el mercado, SuperFactura se enfoca precisamente en entregar una solución que se integra con el Software de su empresa.

SuperFactura entrega una API de programación (la API de SuperFactura) y un servicio de apoyo al programador para ayudarle a integrar la facturación electrónica con el Software de la empresa en forma sencilla y rápida.

El servicio de SuperFactura es además una solución completa que incluye todo lo necesario: generación y envío de libros de compra y venta en forma automática, acuses de recibo, timbraje electrónco automático, generación de documentos PDF, plataforma web para visualizar y administrar documentos e incluso la certificación del Software integrado ante el SII.