Impresora Fiscal en Linux

Uno de los desafíos que enfrentamos a la hora de la utilización de controladores fiscales en linux fue la falta de soporte y documentación por parte de las empresas que fabrican estos dispositivos.

Si bien HASAR posee un driver para linux, el caso de Epson no es el mismo.

Para poder solucionar este problema, procedimos a realizar un port del controlador para que pueda ser utilizado en Linux.

Esta aplicación nos permite realizar todas las comunicaciones con el controlador fiscal desde la linea de comandos y obtener así una comunicación con el dispositivo.

Los sistemas POS que poseen varios de nuestros clientes hacen uso intensivo de ticket, cierre x/z y demás operaciónes que se pueden realizar ahora con histrix y controladores fiscales epson.

A continuación un detalle de todas las operaciónes que se pueden hacer utilizando este controlador.

RBFiscal v0.1.1 - (c) 2010 by Estudio Genus

Usage: rbfiscal --help --serialport:N --file:BATCHFILE --command:COMMAND --options:argument1|argument2|...|argumentN

 --serialport    indicates the serial port to be used by the program it must be 0 to 9 number.
 --command       indicates the command to be executed by the program.
 --options       indicates the options to be used by the command. YOU MUST enclose in quotes to prevents errors.
 --file          indicates a text file to process a batch command list.

 --help          show help about commands you can use combined with --command 

Command Details:

CutPaper: Realiza el corte de papel.

FeedPaper: Avanza el papel de la estación de impresión seleccionada.
* Estación: R=Receipt; J=Journal; A=Ambos; S=Hoja suelta.
* Cantidad de líneas a avanzar.

SetGetHeaderTrailer: Establece u obtiene los datos fijos de encabezados y colas.
* Accion: S=Establecer; G=Obtener.
* Número de encabezado / cola.
* Texto a establecer.

SetGetDateTime: Establece u obtiene la fecha y hora de la impresora fiscal
* Acción: S=Establecer; G=Obtener.
* Fecha a establecer en formato AAMMDD (opcional solo para establecer).
* Hora a establecer en formato HHMMSS (opcional solo para establecer).

Status: Realiza una consulta de estado.
* Tipo de estado: N=Normal; P=Impresora; C=Contribuyente; A=Contadores.

OpenCashDrawer: Realiza la apertura de los cajones de dinero.
* Número de cajón de dinero.

OpenNoFiscal: Realiza la apertura de un Documento No Fiscal

SendNoFiscalText: Envía una línea de texto no fiscal.
* Texto a envíar.

CloseNoFiscal: Realiza el cierre de un documento no fiscal.

OpenTicket: Realiza la apertura de un ticket fiscal.
* Tipo de almacenamiento de los datos en la memoria: G=Completo; C=Normal

SendTicketItem: Envía un Item en un ticket fiscal
* Descripción del artículo.
* Cantidad.
* Precio unitario.
* Tasa de IVA.
* Calificador de item: M,m,R,r
* Cantidad de bultos
* Impuestos internos porcentuales
* Impuestos Internos Fijos (opcional)

SendExtraDescription: Envía una línea de descripción extra dentro de un ticket fiscal.
* Texto a enviar.

GetTicketSubtotal: Solicita un subtotal de un ticket fiscal.
* Impresion: P=Imprime el subtotal; N=No imprime el subtotal.
* Texto a imprimir (opcional).

SendTicketPayment: Envía un pago en un ticket fiscal
* Texto descriptivo del pago.
* Monto a pagar.
* Descripción del pago: T=Pago; t=Reversión del pago; D=Descuento; R=Recargo.

CloseTicket: Realiza el cierre de un ticket fiscal.

CancelTicket:  Cancela un ticket fiscal Abierto.

OpenInvoice: Realiza la apertura de un ticket-factura o una factura.
* Tipo de documento fiscal (T=TiqueFactura o F=Factura)
* Salida de impresora (C=continuo o S=Slip)
* Letra del documento (A,B o C)
* Cantidad de copias
* Tipo de formulario (F,P o A)
* Tipo de letra
* Responsabilidad IVA Emisor (I,R,E,N o M)
* Responsabilidad IVa Comprador(I,R,E,N,M o F)
* Linea 1 Nombre del Comprador
* Linea 2 Nombre del Comprador
* Tipo Documento Comprador
* Nro. Documento Comprador
* Bien de Uso (B o N)
* Linea 1 Domicilio Comprador
* Linea 2 Domicilio Comprador
* Linea 3 Domicilio Comprador
* Linea 1 Remito
* Linea 2 Remito
* Tipo de tabla de item (C o G)

SendInvoiceItem: Envía un Item en un ticket-factura o factura fiscal
* Descripción del artículo.
* Cantidad.
* Precio unitario.
* Tasa de IVA.
* Calificador de item: M,m,R,r
* Cantidad de bultos
* Impuestos internos porcentuales
* Linea de descripción extra 1
* Linea de descripción extra 2
* Linea de descripción extra 3
* Tasa de acrecentamiento
* Impuestos Internos Fijos

GetInvoiceSubtotal: Solicita un subtotal de un ticket-factura o factura fiscal.
* Impresion: P=Imprime el subtotal; N=No imprime el subtotal.
* Texto a imprimir (opcional).

SendInvoicePerception: Envía una percepción en un ticket-factura o factura fiscal.
* Texto descriptivo de la percepción.
* Calificador de la percepción: O=Percepcion sobre el IVA
* Monto de la percepción.

SendInvoicePayment: Envía un pago en un ticket-factura o factura fiscal
* Texto descriptivo del pago.
* Monto a pagar.
* Descripción del pago: T=Pago; t=Reversión del pago; D=Descuento; R=Recargo.

CloseInvoice: Realiza el cierre de un ticket-factura o factura fiscal
* Tipo de documento: T=Ticket-factura; F=Factura.
* Letra del ticket-factura o factura.
* Texto a imprimir en la descripcion del total.

CancelInvoice: Cancela un ticket fiscal Abierto.

CloseJournal: Realiza un cierre de Jornada o de Cajero (Z o X).
* Tipo de cierre: Z o X.
* Impresión (opcional): P=imprime el cierre X; N=no imprime el cierre X.