Cómo opera el envío de una Factura Electrónica

31 agosto 2010

En esta entrada vamos a intentar explicar cómo opera internamente el envío de una Factura Electrónica, o cualquier otro documento electrónico de ventas, que llamaremos a partir de ahora DTE (Documento Tributario Electrónico), como los denomina el SII.

Hay alguna partes que tienen un poco de lenguaje técnico, porque es imposible evitarlo. Pero intentemos que sea comprensible. Es importante explicar todo el mecanismo, para que los usuarios sepan dónde puede estar el problema si hay demoras en los envíos/aprobaciones.

Una primera aclaración importante: el SII provee un único mecanismo de envío y comprobación de los DTE, no hay puertas traseras ni ventajas o preferencias para ningún tipo de software o proveedor. Este mecanismo es el que utiliza Laudus, o cualquier otra solución de Factura Electrónica. Toda la información técnica del SII sobre cómo implementar la Factura Electrónica es pública, y se puede descargar desde el sitio web del SII en la sección de Factura Electrónica.

El primer paso que hace Laudus antes de enviar un DTE es generar el archivo XML donde va toda la información de la Factura. El formato XML es un formato estándar internacional para el traspaso de información.
Para generar el XML hay que firmarlo, y por eso Laudus pide la contraseña para descifrar la clave privada del certificado digital.  Esta contraseña sólo se pide una vez por sesión, pero se pide en todas las sesiones ya que no se almacena por seguridad.

Una vez creado el archivo del DTE, hay que pedir un identificador de seguridad al SII. Este identificador se pide mediante un servicio web (web service), que es una forma de comunicación entre computadores, entre el computador del usuario y el servidor del SII. El SII responde con un identificador, con el que se puede comenzar la sesión frente al SII.

La mayoría de la comunicación con el SII se hace a través de servicios web, y todos los software de Facturación Electrónica  tienen que utilizar éstos, no hay otra forma de hacerlo. Si el servidor del SII está con mucha carga, todos deben esperar lo mismo, no hay preferencias ni maneras de hacerlo más rápido.

Por lo general, en nuestra experiencia, es que casi nunca hay demora en obtener el identificador para iniciar la sesión con el SII. Con Laudus nuestros clientes están enviando miles de DTE todos los meses desde hace 2 años, y poseemos ya una buena base de análisis.

Una vez obtenido el identificador, enviamos el DTE, o los DTE. En un sólo envío pueden ir uno o muchos DTE. Este envío se hace mediante HTTPS, es decir, la versión segura del famoso protocolo HTTP (HyperText Transfer Protocol) que se utiliza para todas las páginas web.
Por eso, el envío se hace mediante la página web del SII o simulando la misma. Dado que sería una lata obligar al usuario a enviar los DTE mediante la página, lo que hacemos en Laudus (y todos los software) es simular un navegador que envía el DTE mediante esta página. Por eso el usuario sólo ve una barra de progreso de cómo se envía el DTE, mientras que Laudus está enviando por debajo el DTE mediante HTTPS.

Este paso no suele presentar demora, ya que casi siempre se obtiene el número de envío en seguida, que es la respuesta que da el SII.

Con este número de envío ya sabemos que el SII ha recibido el/los DTE. Una vez que los recibe, analiza la estructura para ver si son válidos. El SII no analiza el contenido en sí, es decir, le da igual si uno factura 10.000 pesos o 10 millones, o si envía unos productos u otros. Sólo analiza si el DTE se ajusta al formato y estructura definido para los mismos, y si tiene toda la información obligatoria.

El último paso es saber si se aprobó el DTE. Podemos consultar en cualquier momento el “veredicto” del SII sobre el envío, es decir si acepta o rechaza el/los DTE. Si todavía no se han analizado, el SII nos dice que no hay respuesta por el momento. Esta consulta la debemos hacer mediante un servicio web, y nunca sabemos cuánto va a demorar el SII en tener la respuesta.

Este paso  es el único que no suele ser inmediato. Podemos obtener la respuesta en pocos segundos, o varias horas. Y repito, opera igual para todos los proveedores de soluciones de Factura Electrónica.

Laudus, por defecto, no deja imprimir un DTE hasta que no tiene la aprobación del SII. Entonces ¿qué hacemos si estamos facturando en un mesón de atención al público? Podemos cambiar esta opción con la siguiente casilla:

Permitir Imprimir DTE antes de recibir confirmación del SII

y de esta forma poder imprimir el DTE sin haber recibido la confirmación del SII.

¿Cuál es la diferencia? El único problema sería que el SII rechazara el documento, pero es muy poco probable. Cualquier solución de Factura Electrónica que lleve un tiempo en el mercado ha depurado sus fallos en este sentido, y es poco probable que genere un DTE con fallos. Por eso es seguro marcar la casilla e imprimir el documento.

Prácticamente todas las soluciones del mercado que conocemos (“nuestra competencia”) imprimen el DTE sin necesidad de esperar al SII a aprobarlo. Por eso, puede parece que obtienen la aprobación antes, pero no es así; no hay manera de acelerar al SII, demora lo mismo para todos. Simplemente es permitir imprimir el DTE sin la aprobación.

El SII, ni nadie que tenga computadores, está exento de posibles demoras o problemas en el servicio entregado. Incluso las más grandes compañías de  Internet los han tenido. Pero en general funciona como está previsto.
Alguna vez muy esporádica ha habido más retraso en obtener el número de envío al realizar el mismo. En este caso Laudus no permite imprimir el DTE hasta que no tenemos el número del envío del SII; y no queremos hacerlo porque los posibles problemas de hacerlo son mayores que en el caso de la aprobación. Y dado que muy pocas veces se ha producido el caso, no le hemos considerado importante.

Podría haber soluciones que permitan imprimir el DTE sin haber recibido el número de envío del SII, se puede hacer ya que este número no va dentro del timbre del DTE. A nosotros particularmente nos parece un poco arriesgado, ya que incluso el cliente podría intentar consultar por el DTE y obtendría un error.
En este caso podría parecer que Laudus es más lento, ya que obliga a tener el número de envío del DTE; pero como hemos comentado, los casos son muy esporádicos y no merece la pena hacer muchos cambios para este caso, y seguir adoptando una política más segura.

Si hay dudas sobre cómo funciona este modelo, esperamos sus comentarios.


Configuración de la Pistola de Códigos de Barras

25 agosto 2010

En el último post vimos una introducción a cómo utilizar la Pistola de Códigos de Barras en Laudus, y las opciones de búsqueda e ingreso de datos que tenemos disponibles.

Sin embargo, dejamos para esta entrada la configuración de la pistola, para no hacer más extenso el texto. La configuración de la pistola tiene dos partes: la de la pistola en sí, y las opciones en Laudus:

  • Configuración del hardware de la Pistola: una pistola de códigos de barras tiene muchas opciones de configuración. Muchas más de lo que un usuario puede pensar a simple vista, ya que se pueden especificar las opciones de comunicación con el computador (y de la comunicación serial o USB), las codificaciones de códigos de barras soportadas, los prefijos y sufijos a emitir con cada código, simulación de diferentes teclados para diferentes países, interfaces especiales para computadores específicos o terminales de punto de venta, activación, velocidad de lectura y transmisión, configuración regional, …
    .
    Una pistola puede tener más de 200 opciones posibles. El manual de configuración de una pistola sencilla puede tener más de 100 páginas. Por ejemplo, puede consultar el manual de una pistola muy clásica, la Eclipse MetroSelect de Honeywell.
    .
    Parece muy complicado, pero en la mayoría de los casos suele ser sencillo, ya que vienen de fábrica con una configuración estándar que suele cubrir las necesidades básicas. Como cada pistola es diferente, la configuración de la misma debe hacerla con su proveedor que le vendió estas pistolas.
    .
    Lo que sí necesitamos es configurar un prefijo y un sufijo, es decir lo que la pistola va a emitir antes y después del código de barras. Esto es necesario ya que a todos los efectos del software, el código recibido de la Pistola no se diferencia de un código ingresado a mano, ya que como explicamos en el post anterior, la Pistola es idéntica a un teclado, nos envía caracteres.
    .
    Y para que el software sepa que los caracteres que vienen a continuación son un código de barras enviados con una pistola, es necesario configurar la misma para que emita un código especial antes de los caracteres o números del código de barras. Es la forma de que la pistola diga que es ella, y no un usuario digitando en un teclado.
    .
    De esta forma el software (Laudus en este caso) sabe que lo que viene es un código de barras ingresado con pistola, y actúa en consonancia, haciendo la búsqueda de una forma diferente y comportándose de una manera ad-hoc y más rápida.Se puede configurar el prefijo que se quiera, pero lo más recomendable es configurar un STX (Start of TeXt), que es un código estándar y reconocido para todas las pistolas y fabricantes de software. Técnicamente el código STX es equivalente a digitar <Ctrl-B> (ASCII 02), pero en los manuales verá STX que es más fácil de identificar.
    .
    En cuanto al sufijo, lo que va después del código de barras, se debe configurar un retorno de carro (ASCII 13), que equivale a como si el usuario digitara un <enter> para hacer el ingreso final del código. Este sufijo suele venir configurado por defecto, por lo que lo más normal es que no tenga que especificarlo.
    .
    Para configurar las pistolas, dado que no tienen teclado ni nada parecido para ingresarles información, lo más habitual es que haya que escanear códigos de barras del manual de configuración. Es decir, la configuración se hace mediante escaneo de diferentes códigos de barras..
  • Configuración de Laudus: esta parte es más sencilla, ya que sólo hace falta decirle a Laudus el prefijo que se ha configurado en la pistola, lo cual se ingresa en las opciones de configuración de la empresa:
    Opciones de Códigos de Barras

    Lo más cómodo es configurar un STX, pero si por alguna razón no se hace, se puede especificar cualquier prefijo en la casilla de la izquierda. Ingresando cualquiera de los dos, Laudus ya sabe que tiene que estar atento en las pantallas de ingreso de productos a ver si la pistola digita algún código de barras; no hace falta configurar más opciones..

.
Suele ser sencillo, pero es muy importante que termine de configurar las pistolas con su proveedor de éstas, ya que muchas veces no explican cómo hacerlo o ni siquiera proporcionan los manuales. Y dado que toda la configuración se hace escaneando códigos impresos en el manual, es imprescindible tener el mismo físicamente presente.

Y por último, repetir la misma recomendación que hicimos en el post anterior. Las pistolas no son caras, y la diferencia de precio entre una mala y una decente no merece la pena por las prestaciones y precisión, así como por el soporte.


Introducción a las Pistolas de Códigos de Barras

16 agosto 2010

Desde hace ya mucho tiempo Laudus soporta las pistolas de códigos de barras. Esto significa que un producto se puede ingresar mediante el teclado por su código/descripción, o a través de una pistola de código de barras (lo cual es mucho más rápido, por supuesto).

En este post vamos a intentar dar una introducción a conceptos básicos de pistolas de códigos de barras y cómo operan en Laudus. Seguro que surgen dudas de los usuarios, que esperamos ver reflejadas en los comentarios.

Un pistola de código de barras lo que hace es leer el código de barras,  y a partir de las barras obtiene los números que estas barras representan. Es decir, un código de barras representa una serie de números (pueden ser letras y números, pero es más frecuente que sean sólo números). Al leer el código, la pistola obtiene los números que están representados, y pasa esos números (el código del producto) al computador.

Desde el punto de vista del computador, una pistola es exactamente igual que un teclado. De hecho, las pistolas se pueden conectar a un puerto del teclado (un puerto PS/2), o a un puerto USB simulando un teclado USB. Así, es como si el usuario digitara el código del producto.
La principal diferencia es que la pistola es mucho más rápida que un usuario, y además prácticamente no comete errores. Por eso es el método preferido para ingresar información.

Por eso, además de los códigos de los productos, con una pistola de códigos de barras se puede ingresar cualquier información en forma de barras, tales como números de serie, lotes, u otros.

¿Las barras sólo pueden representar números? No, las barras pueden representar números y letras en el mismo código. Sin embargo, depende del tipo de codificación que se utilice; todas las codificaciones pueden representar números, pero no todas pueden representar letras también.

¿Y qué es una codificación? Es una forma de representar los números en forma de barras. Hay varias codificaciones, como las conocidas EAN 13, Code 25, Code 39, y Code 128.
De ellas, por ejemplo, la EAN 13 y la Code 25 sólo puede representar números; y la Code 39 y Code 128 pueden representar números y letras. Y prácticamente cualquier pistola de códigos de barras puede leer cualquiera de las codificaciones más conocidas.

Para leer un código de barras, éste debe estar impreso. La mayoría de los productos tienen el código de barras impreso, pero si se quiere imprimir los códigos de nuestros productos, o números de serie o lotes, no es difícil. Se puede hacer desde Word mismo, para lo cual hay que comprar una fuente de códigos de barras (o bajarse alguna gratis), y después escribir el código y seleccionar la fuente que lo representa.
También se puede hacer desde Laudus, para lo cual habrá que encargar el formato de etiqueta o impreso que se quiere utilizar.

¿Dónde ingreso el código de barras en Laudus? En la ficha del producto hay una casilla específica para especificar el código de barras:

Código de Barras en Ficha del Producto

De todas formas, se puede utilizar el código de barras como código del producto, no hay nada que lo impida, y las búsquedas van a funcionar bien de cualquier forma. Pero no es una práctica habitual, ya que cada empresa codifica sus productos de acuerdo a una nomenclatura que tiene un sentido interno, y que ayuda a los usuarios  de la empresa a identificar a los productos de una manera más rápida; el código de barras es externo (no lo determina la empresa) y no suele tener significado interno.

¿Cómo se buscan los productos por su código de barras? Aquí está la verdadera utilidad de los códigos de barras. En Laudus puede buscar un producto por su código/descripción, o mediante el código de barras con la pistola.

Al agregar un producto a una cotización, pedido, guía, inventario, etc, se obtiene la siguiente pantalla (al hacer click en el botón de agregar nuevo producto en estos documentos):

Búsqueda de Producto

en ella, al ingresar caracteres se filtran todos los productos que contienen la búsqueda dentro del nombre, o de la descripción, o del código de barras. Es la forma de buscar un producto mediante el teclado.

Pero si al estar editando una factura, por ejemplo, se lee un código de barras con la pistola, Laudus busca automáticamente ese código en todos los productos. Primero localiza si algún producto tiene el mismo código de barras que el ingresado (tiene que ser exactamente igual, no vale que sea sólo en parte igual), y si no encuentra ninguno entonces intenta localizar si algún producto tiene el código/nombre igual al código de barras “pistoleteado”.
Si coincide alguno de los dos, entonces se agrega el producto.

No hace falta pinchar el botón de agregar producto, basta con leer el código de barras con la pistola para que Laudus agregue el producto. Igualmente, si no se está editando una cotización nuevo, por ejemplo, al leer un código de barras Laudus crea el documento nuevo y le agrega el producto.

Y como he mencionado antes, también se pueden ingresar los números de serie, o los lotes, por ejemplo. En los números de serie es “casi obligatorio” ingresarlos con pistola, ya que suelen ser muchos caracteres, y además en letras muy pequeñas, lo cual lo hace realmente complicado si no se tiene una pistola de código de barras.

Sobre los modelos de pistolas de códigos de barras, decir que sí hay diferencias entre unas y otras. Las pistolas simples suelen estar entre los 60.000 y los 120.000 pesos, y es mejor adquirir una de buena calidad por varias razones: tienen más campo de acción (más ángulo de lectura y distancia de “disparo”), tienen más precisión (pueden leer códigos en peores condiciones),  y soportan más opciones de configuración.
Cuando hablamos de pistolas “simples” queremos decir aquellas que sólo leen códigos de barras y están conectadas por cable al computador (ya que las hay inalámbricas, con memoria, etc).

Y por último, un apunte sobre las etiquetas de radio frecuencia (RFID), que son los códigos de barras del futuro. Éstas son etiquetas que se leen por proximidad, es decir, el lector sólo tiene que estar cerca de la etiqueta. Son más caras que los códigos de barras, y por eso no se utilizan tanto (aunque cada vez se utilizan en más aplicaciones). Sin embargo son mucho más cómodas y rápidas de leer, además de poder contener más información. Por ejemplo, si todos los productos del supermercado estuvieran identificados con estas etiquetas, se podría pasar el carrito de la compra por la caja sin necesidad de sacar los productos del carrito, y en un segundo la caja sabría todo el contenido con su valor total.
Por supuesto, no sólo las etiquetas son diferentes, sino que además los lectores también cambian.

Como conclusión rápida, si usted tiene una gran variedad de productos, o necesidades de venta rápida por su tipo de actividad, no dude en adquirir pistolas de códigos de barras e implementarlos a lo largo de su empresa, ya que los ahorros en tiempo son significativos. En otro post veremos cómo configurar estas pistolas para su uso óptimo, ya que depende de cada fabricante.


Seguir

Get every new post delivered to your Inbox.

Únete a otros 384 seguidores