Sunteți pe pagina 1din 130

Manual de comandos fiscales Impresora fiscal Hasar SMH/PT-250FPA

Comunicacin a travs del puerto serie

Contenido
CONTENIDO ----------------------------------------------------------------------------------------------------------------------------- 2 1. DESCRIPCIN GENERAL -------------------------------------------------------------------------------------------------------- 4 1.1. COMUNICACIONES CON EL HOST ------------------------------------------------------------------------------------------------- 5 1.2. MEMORIA FISCAL ------------------------------------------------------------------------------------------------------------------ 6 1.3. ACUMULADORES------------------------------------------------------------------------------------------------------------------- 8 1.4. BLOQUEOS -------------------------------------------------------------------------------------------------------------------------- 8 1.5. CORTE EN LA ALIMENTACIN ELCTRICA -------------------------------------------------------------------------------------- 9 1.6. ESTADOS DE LA IMPRESORA ------------------------------------------------------------------------------------------------------ 9 2. COMANDOS FISCALES --------------------------------------------------------------------------------------------------------- 11 2.1. ESTRUCTURA DE LOS COMANDOS ---------------------------------------------------------------------------------------------2.2. CAMPOS DE LOS COMANDOS---------------------------------------------------------------------------------------------------2.2.1. Tipos de datos y abreviaturas ------------------------------------------------------------------------------------------2.2.2. Longitud de los campos -------------------------------------------------------------------------------------------------2.2.3. Campos vacos------------------------------------------------------------------------------------------------------------2.2.4. Campos de montos -------------------------------------------------------------------------------------------------------2.2.5. Cantidades ----------------------------------------------------------------------------------------------------------------2.2.6. Campos con texto --------------------------------------------------------------------------------------------------------2.2.7 Descripcin de errores de los comandos ------------------------------------------------------------------------------2.3. CLASIFICACIN DE LOS COMANDOS ------------------------------------------------------------------------------------------11 12 12 12 12 13 13 14 14 14

3. DESCRIPCIN DE LOS COMANDOS---------------------------------------------------------------------------------------- 17 3.1. COMANDOS DE INICIALIZACIN, BAJA Y CONFIGURACIN ------------------------------------------------------------------ 17 3.1.1. InitEpromFiscal - Inicializacin ---------------------------------------------------------------------------------------- 17 3.1.2. KillEpromFiscal - Baja de la memoria fiscal-------------------------------------------------------------------------- 21 3.1.3. SetConfigCFData - Config. del controlador por parmetros ------------------------------------------------------- 23 3.1.4. StoreLogoData - Carga logotipo---------------------------------------------------------------------------------------- 26 3.1.5. ResetLogoData - Reset logotipo----------------------------------------------------------------------------------------- 28 3.1.6. SetFantasy - Programacin Texto Nombre Comercial--------------------------------------------------------------- 29 3.2. COMANDOS DE DIAGNSTICO Y CONSULTA----------------------------------------------------------------------------------- 30 3.2.1. StatusExtra - Consulta extra de estado--------------------------------------------------------------------------------- 30 3.2.2. GetConfigCFData - Consulta de configuracin ---------------------------------------------------------------------- 32 3.2.3. GetSerial - Consulta parcial de datos de inicializacin-------------------------------------------------------------- 34 3.2.4. GetPrinterVersion - Consulta de versin de controlador fiscal----------------------------------------------------- 35 3.2.5. GetInitData - Consulta de datos de inicializacin -------------------------------------------------------------------- 36 3.2.6. GetFantasy - Consulta Texto Nombre Comercial--------------------------------------------------------------------- 38 3.3. COMANDOS DE CONTROL FISCAL ---------------------------------------------------------------------------------------------- 39 3.3.1. DailyClose - Reporte Z/Reporte X -------------------------------------------------------------------------------------- 39 3.3.2. Reporte de memoria fiscal Consulta por fecha---------------------------------------------------------------------- 43 3.3.3. Reporte de memoria fiscal - Consulta por Nmero de Reporte Z--------------------------------------------------- 45 3.3.4. GetDailyReport - Reporte de registro diario -------------------------------------------------------------------------- 47 3.3.5. GetWorkingMemory - Consulta de memoria RAM ------------------------------------------------------------------- 51 3.4. COMANDOS DE COMPROBANTE FISCAL ---------------------------------------------------------------------------------------- 54 3.4.1. OpenFiscalReceipt - Abrir comprobante fiscal ----------------------------------------------------------------------- 54 3.4.2. PrintFiscalText - Imprimir texto en comprobante fiscal ------------------------------------------------------------- 56 3.4.3. PrintLineItem - Imprimir tem en comprobante fiscal---------------------------------------------------------------- 58 3.4.4. Subtotal --------------------------------------------------------------------------------------------------------------------- 61 3.4.5. TotalTender Pago/Cancelacin/Descuento en DF ----------------------------------------------------------------- 63 3.4.6. CloseFiscalReceipt - Cerrar comprobante fiscal --------------------------------------------------------------------- 66 3.5. COMANDOS DE COMPROBANTE NO-FISCAL ----------------------------------------------------------------------------------- 68 3.5.1. OpenNonFiscalDocument Apertura de Documento No Fiscal---------------------------------------------------- 68 3.5.2. PrintNonFiscalText - Imprimir texto no-fiscal ------------------------------------------------------------------------ 69 3.5.3. CloseNonFiscalReceipt - Cerrar comprobante no-fiscal ------------------------------------------------------------ 71 3.6 COMANDOS DE ALCUOTAS ITBMS -------------------------------------------------------------------------------------------- 73 3.6.1. SetIVARates - Programacin de Alcuotas ITBMS ------------------------------------------------------------------- 73 3.6.2. GetIVARates - Consulta de Alcuotas ITBMS programadas--------------------------------------------------------- 75 3.7. COMANDOS COMUNES A VARIOS TIPOS DE DOCUMENTOS ------------------------------------------------------------------- 76 3.7.1. Cancel Cancelacin general de Documentos ----------------------------------------------------------------------- 76 3.7.2. SetBarCode - Cdigo de barras ----------------------------------------------------------------------------------------- 77
Pgina 2 de 130

3.8. COMANDOS DE CONTROL DE LA IMPRESORA --------------------------------------------------------------------------------- 79 3.8.1. FeedReceipt - Avanzar papel de facturas ------------------------------------------------------------------------------ 79 3.8.2. CutPaper - Cortar Papel de recibo ------------------------------------------------------------------------------------- 80 3.9. COMANDOS DE FECHA, HORA, ENCABEZAMIENTO Y COLA DE DOCUMENTOS --------------------------------------------- 81 3.9.1. SetDateTime - Establecer Fecha y Hora ------------------------------------------------------------------------------- 81 3.9.2. GetDateTime - Consultar fecha y hora--------------------------------------------------------------------------------- 83 3.9.3. SetHeader - Programacin Texto Encabezado Documentos -------------------------------------------------------- 84 3.9.4. SetTrailer - Programacin Texto Pie Documentos ------------------------------------------------------------------- 86 3.9.5. GetHeader - Consulta Texto Encabezado Documentos -------------------------------------------------------------- 88 3.9.6. GetTrailer - Consulta Texto Pi Documentos ------------------------------------------------------------------------- 89 3.9.7. SetCustExtraData - Programacin Datos Adicionales del Comprador-------------------------------------------- 90 3.9.8. GetCustExtraData - Consulta Datos Adicionales del Comprador-------------------------------------------------- 92 3.10. COMANDOS DE GAVETA DE DINERO ------------------------------------------------------------------------------------------ 93 3.10.1. OpenDrawer1 - Abrir gaveta 1 de dinero ---------------------------------------------------------------------------- 93 3.10.2. OpenDrawer2 - Abrir gaveta 2 de dinero ---------------------------------------------------------------------------- 94 3.11. COMANDOS DE DOMICILIO FISCAL ------------------------------------------------------------------------------------------- 95 3.11.1. SetFiscalAddress - Programacin de lneas de Domicilio Fiscal ------------------------------------------------- 95 3.11.2. GetFiscalAddress - Consulta de lneas de Domicilio Fiscal ------------------------------------------------------- 97 3.11.3. GetDocNumZRange - Consulta de cierre zeta en el que fue emitido un determinado comprobante---------- 98 3.12 COMANDOS DE LA MEMORIA DE AUDITORA. -------------------------------------------------------------------------------- 99 3.12.1. GetPublicKey - Leer clave pblica ------------------------------------------------------------------------------------ 99 3.12.2. GetAuditRangeZNum - Obtener rango de cierres Z por nmeros------------------------------------------------ 100 3.12.3. GetAuditFirstBlock - Obtener primer bloque de registro de cinta de auditora-------------------------------- 102 3.12.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditora ----------------------------- 104 3.12.5. GetAuditSeqNum - Obtener nmero de secuencia actual de cinta de auditora-------------------------------- 105 4. DOCUMENTOS --------------------------------------------------------------------------------------------------------------------- 106 4.1. Factura ---------------------------------------------------------------------------------------------------------------------- 106 APNDICES --------------------------------------------------------------------------------------------------------------------------- 107 APNDICE 1: TIPO DE LETRA. ------------------------------------------------------------------------------------------------- 107 APNDICE 2: STATUS FISCAL-------------------------------------------------------------------------------------------------- 108 APNDICE 3: STATUS IMPRESORA ------------------------------------------------------------------------------------------ 110 APNDICE 4: STATUS AUXILIAR---------------------------------------------------------------------------------------------- 111 APNDICE 5: STATUS DE DOCUMENTO------------------------------------------------------------------------------------ 112 APNDICE 6: MANEJO DEL ITBMS------------------------------------------------------------------------------------------- 113 6.1. ESTRUCTURA DE LA TABLA DE ITBMS -------------------------------------------------------------------------------------- 113 6.2. CLCULO DEL MONTO DEL ITBMS EN LOS RECARGOS O DESCUENTOS SOBRE EL SUBTOTAL ------------------------- 113 6.3. IMPRESIN DE LAS LNEAS CORRESPONDIENTES A DESCUENTOS (O RECARGOS) ---------------------------------------- 113 APNDICE 7: TERMINOLOGA ------------------------------------------------------------------------------------------------ 114 APNDICE 8: CARACTERSTICAS DE LA COMUNICACIN HOST-CONTROLADOR FISCAL ----------- 116 APNDICE 9: TRATAMIENTO DE MONTOS, CANTIDADES Y PORCENTAJES. -------------------------------- 117 APNDICE 10: DESCRIPCIN DE ERRORES EN LOS COMANDOS------------------------------------------------- 119 APNDICE 11: MAPA DE ERRORES ------------------------------------------------------------------------------------------ 128 APNDICE 12: TRATAMIENTO DE LAS LNEAS DE NOMBRE O RAZN SOCIAL EN OPENFISCALRECEIPT ------------------------------------------------------------------------------------------------------------ 129

Pgina 3 de 130

1. Descripcin general
Estaciones de impresin Las impresoras fiscales SMH/PT-250FPA poseen una estacin de impresin por mtodo trmico de facturas. Acceso al interior de las impresoras fiscales El acceso a las partes interiores de la impresora fiscal se realiza de dos maneras: - Las partes mecnicas que requieren servicio de mantenimiento (cabezal de impresin, troquelador, etc) y renovacin de insumos (papel.etc) son directamente accesibles desde el exterior abriendo las tapas ad-hoc en la carcasa plstica. - La seccin que contiene la electrnica fiscal se encuentra cerrada con precinto, y para acceder a ella es necesario romper el mismo. La seccin de electrnica fiscal contiene el circuito controlador fiscal y la memoria EPROM fiscal donde se almacenan los registros diarios. La seccin de electrnica no-fiscal contiene el circuito controlador del aparato impresor. Comunicaciones Slo el circuito controlador fiscal puede recibir comunicaciones (comandos) del exterior. El circuito controlador de impresora se encuentra comunicado con el controlador fiscal a travs de una lnea serie, de manera que cualquier comunicacin dirigida a la impresora debe procesarse en el circuito controlador fiscal antes de ser ejecutada. La comunicacin responde a un esquema Master-Slave puro; es decir, ningn dispositivo puede tomar control del vnculo por iniciativa propia. El circuito controlador fiscal posee un puerto de comunicacin serie (indicado con la leyenda HOST): A este puerto se conecta el host en el que reside el programa de caja, as como tambin un aparato recolector de datos. Modo de funcionamiento La impresora est preparada para trabajar en modo fiscal. Luego de la inicializacin, todas las operaciones que se realicen quedarn almacenadas en la memoria fiscal. Sin efectuar la inicializacin, la impresora no estar habilitada para realizar operacin alguna.

Pgina 4 de 130

1.1. Comunicaciones con el host


El protocolo de comunicacin entre el host en el que reside el programa de caja y el controlador fiscal es un vnculo asincrnico, half duplex, segn norma RS-232C. La relacin entre host y controlador es del tipo Master-Slave. Los comandos y respuestas intercambiados se encuentran empaquetados, tal como se describe en las prximas pginas. El esquema de comunicacin es el siguiente. Host (master) Paquete A Paquete A DC2 o DC4 Respuesta A Paquete A Respuesta A Paquete B Respuesta B - Cada vez que el controlador fiscal recibe correctamente un paquete del host, se dedica a ejecutar el comando y manda la respuesta. - Algunos comandos requieren de perodos de tiempo extendido para completarse. En estos casos el controlador fiscal enva cada 800 ms el cdigo DC2 (12H) para indicar que el comando se encuentra an activo. Si pasado este tiempo el controlador no ha enviado respuesta alguna, significa que el paquete se ha recibido de forma erronea. En este caso deber ser reenviado por el host. - Si falta papel en la estacin de impresin, el controlador fiscal enva el cdigo DC4 (14H). En caso de recibir uno de estos cdigos, el host debe continuar esperando la respuesta. - Una vez ejecutado el comando, el controlador fiscal enva al host el paquete de respuesta. - Si el host recibe el paquete con errores, deber reenviar el comando al controlador fiscal. - Si el host recibe el paquete correctamente, queda habilitado para transmitir el prximo paquete. Controlador (slave) Respuesta A fiscal

Pgina 5 de 130

1.2. Memoria fiscal


El controlador fiscal cuenta con una memoria EPROM que se encuentra inmersa en un habitculo relleno con resina epoxi que forma parte solidaria de la carcasa. La memoria EPROM solo puede ser accedida mediante el controlador fiscal (tanto para escritura como para lectura). Cada vez que se energiza la impresora el controlador fiscal comprueba la consistencia de los datos de la memoria EPROM. Esta puede encontrarse en alguno de los siguientes estados: Sin inicializar Todas las memorias fiscales salen de fbrica sin inicializar. En este estado la impresora no puede operar normalmente. Para ingresar en el modo fiscal debe emitirse el comando InitEpromFiscal. Inicializada (Modo Fiscal / Modo Entrenamiento) Una memoria EPROM inicializada puede presentar dos estados segn la consistencia de sus datos: Datos consistentes. El equipo est listo para operar normalmente. Datos inconsistentes Si los datos no son consistentes (por haberse cambiado la memoria EPROM u otro motivo), el controlador fiscal se bloquea y slo puede salirse de esta condicin accediendo fsicamente al circuito fiscal y realizando un MAC. Este procedimiento slo puede ser realizado por Compaa Hasar o algunos de sus servicios tcnicos autorizados. Cuando se alimenta un equipo con la memoria EPROM bloqueada, se imprime el siguiente mensaje Controlador fiscal bloqueado. En este estado es imposible proseguir operando hasta tanto no se lo desbloquee. En memoria EPROM se guardan: Datos referidos al propietario del controlador, al propio controlador y a la fecha de inicializacin. Estos datos se graban mediante el comando InitEpromFiscal y son: La razn social del propietario El nmero de registro de la impresora El RUC del propietario La responsabilidad frente al IVA del propietario

Datos referidos a las ventas diarias, a los comprobantes emitidos y a las veces que el controlador fiscal qued bloqueado. Estos datos se almacenan en forma de registros diarios. La memoria fiscal tiene capacidad para 3800 registros en el modelo SMH/PT-250FPA. Cada uno de los registros se graba mediante el comando DailyClose (Z). Los datos almacenados en cada registro diario son: - Nmero de Z - Fecha
Pgina 6 de 130

- Fecha Ultima Factura - Hora Ultima Factura - Nmero Ultima Factura - Nmero Ultima Nota de Dbito - Cantidad de Notas de Dbito - Nmero Ultima Nota de Crdito - Cantidad de Notas de Crdito - Nmero Ultimo Documentos No Fiscales - Cantidad de Documentos No Fiscales - Nmero Ultimo Reporte de Auditora - Monto exento Facturas y Notas de Dbito - Monto exento Notas de Crdito - Alcuota ITBMS1 - Neto sin ITBMS1 Facturas y Notas de Dbito - Impuesto Venta ITBMS1 Fact. y Notas de Dbito - Impuesto Desc/Bonif ITBMS1 Fact. y Notas de Dbito - Neto sin ITBMS1 Notas de Crdito - Impuesto Venta ITBMS1 Notas de Crdito - Impuesto Desc/Bonif ITBMS1 Notas de Crdito - Alcuota ITBMS2 - Neto sin ITBMS2 Facturas y Notas de Dbito - Impuesto Venta ITBMS2 Fact. y Notas de Dbito - Impuesto Desc/Bonif ITBMS2 Fact. y Notas de Dbito - Neto sin ITBMS2 Notas de Crdito - Impuesto Venta ITBMS2 Notas de Crdito - Impuesto Desc/Bonif ITBMS2 Notas de Crdito - Alcuota ITBMS3 - Neto s/ IVA ITBMS3 Facturas y Notas de Dbito - Impuesto Venta ITBMS3 Fact. y Notas de Dbito - Impuesto Desc/Bonif ITBMS3 Fact. y Notas de Dbito - Neto sin ITBMS3 Notas de Crdito - Impuesto Venta ITBMS3 Notas de Crdito - Impuesto Desc/Bonif ITBM3 Notas de Crdito - Alcuota ITBMS4 - Neto s/ IVA ITBMS4 Facturas y Notas de Dbito - Impuesto Venta ITBMS4 Fact. y Notas de Dbito - Impuesto Desc/Bonif ITBMS4 Fact. y Notas de Dbito - Neto sin ITBMS4 Notas de Crdito - Impuesto Venta ITBMS4 Notas de Crdito - Impuesto Desc/Bonif ITBM4 Notas de Crdito - Monto total Desc/Bonif en Fact. y Notas de Dbito - Monto total Desc/Bonif en Notas de Crdito - Monto Total de Ventas en Fact. y Notas de Dbito - Monto Total de Ventas en Notas de Crdito Registro relativo a la baja del controlador fiscal. Este es un registro que se llena cuando el controlador fiscal es dado de baja por la autoridad fiscal mediante el comando KillEpromFiscal. Una vez que se ha llenado este registro la memoria EPROM no puede volver a utilizarse y debe ser cambiada, aunque s pueden seguirse leyendo los datos almacenados en ella.

Pgina 7 de 130

1.3. Acumuladores
Durante la operacin, el controlador fiscal mantiene en memoria RAM una serie de acumuladores con los datos de ventas, facturas, reportes, etc., que se producen durante la jornada fiscal. Estos acumuladores son actualizados al ejecutarse determinados comandos y, al cierre de la jornada fiscal, los valores almacenados en algunos de ellos son grabados en la memoria EPROM, mientras que otros son reseteados a cero. La memoria RAM tiene backup de batera que le permite guardar los datos durante un perodo de 60 das. Cada vez que se energiza la impresora el controlador fiscal comprueba la consistencia de los datos de la memoria RAM. Si estos no son consistentes, el controlador fiscal se bloquea y slo puede salirse de esta condicin accediendo fsicamente al circuito fiscal y realizando un MAC (es decir, es necesario romper el precinto fiscal). Este procedimiento slo puede ser realizado por Compaa Hasar o algunos de sus servicios tcnicos autorizados.

1.4. Bloqueos
El controlador fiscal se bloquea como consecuencia de falta de consistencia en la memoria EPROM fiscal o en la memoria RAM de trabajo. Al prenderse un controlador fiscal bloqueado por falta de consistencia en la memoria, automticamente se imprimen dos lneas con las leyendas Cont. fiscal bloqueado y Error en firma de RAM. La impresora debe ser desbloqueada antes de poder operrsela. Para ello debe accederse fsicamente al circuito del controlador fiscal, es decir, se debe romper el precinto fiscal, y realizar un MAC. Este procedimiento slo puede ser realizado por Compaa Hasar o algunos de sus servicios tcnicos autorizados. El proceso de recuperacin de un bloqueo produce: - La prdida de datos existentes en la memoria RAM de trabajo. - El incremento en 1 del contador del registro de bloqueos existente en la memoria EPROM fiscal. - La impresin de la leyenda MAC EN PROCESO. - La leyenda Inicio de operacin fiscal. - Se imprime automticamente el reporte de inicio de jornada fiscal (disponible solamente en el modelo SMH/PT-250FPA). Una vez finalizado el proceso la impresora fiscal queda lista para operar normalmente.

Pgina 8 de 130

1.5. Corte en la alimentacin elctrica


Toda vez que el controlador fiscal es alimentado, ste verifica la consistencia de las memorias de trabajo y fiscal. Cada vez que se confecciona un comprobante (fiscal o no fiscal) el controlador fiscal almacena en un buffer todos los comandos recibidos. Una vez cerrado el comprobante, este buffer es vaciado. En caso de producirse un corte en la alimentacin elctrica con un comprobante abierto el controlador fiscal cancela dicho comprobante. Al retornar la alimentacin imprime dos lneas, la primera formada por el caracter / y la segunda con la leyenda CORTE DE CORRIENTE, seguidas de la leyenda COMPROBANTE CANCELADO. A continuacin consulta el buffer arriba mencionado y ejecuta automticamente, sin intervencin del operador, todos los comandos almacenados, restablecindose as el estado en que se encontraba el comprobante. La cancelacin se realiza en todos los estados del controlador excepto: Si se estaba imprimiendo el logotipo fiscal de un comprobante fiscal, una vez recuperada la energa el comprobante no se cancela y se vuelve a imprimir el logo fiscal. Si se estaban imprimiendo las dos primeras lneas del encabezado del comprobante, una vez recuperada la energa las lneas se completan automticamente. Si se estaba realizando un cierre de jornada fiscal, una vez recuperada la energa el comando no es cancelado y se completa automticamente. En todos los casos se imprime la leyenda relativa al corte de corriente.

1.6. Estados de la impresora


Un estado se puede definir como la configuracin de informacin de un equipo, en este caso, la impresora fiscal. Las impresoras fiscales referenciadas en este manual tienen tres estados: - Estado No Inicializado - Modo Entrenamiento - Modo Fiscal Cuando la impresora fiscal sale de fbrica se encuentra en Estado No Inicializado. En este estado, la impresora no acepta ningn comando, excepto el de inicializacin. Mediante el comando de inicializacin ejecutado en Estado No Inicializado se puede acceder a otros dos estados: el Modo Entrenamiento y el Modo Fiscal (ver comando de inicializacin para detalles). El modo entrenamiento es un modo creado para el adiestramiento de los usuarios de impresoras fiscales. En este modo, las ventas realizadas no sern acumuladas en la memoria fiscal, y los
Pgina 9 de 130

espacios en blanco sern reemplazados por signos de pregunta en las facturas. Es importante remarcar que este modo debe ser utilizado para que el usuario comprenda la operacin de la impresora fiscal, pero bajo ningn concepto pueden realizarse ventas reales en este modo. Una vez accedido este estado, se podr colocar a la impresora en Modo Fiscal (ver comando de inicializacin para detalles), mas no se podr ya volver al Estado No Inicializado, excepto cuando deba cambiarse la memoria fiscal, cuyo estado inicial ser No Inicializado. El Modo Fiscal es el modo natural de operacin de la impresora fiscal. En este estado las ventas son grabadas en la memoria fiscal, y las prestaciones de la impresora pueden ser utilizadas en su totalidad. Cabe aclarar que una vez accedido el Modo Fiscal no se podr volver ni al Modo Entrenamiento ni al Estado No Inicializado, excepto cuando deba cambiarse la memoria fiscal, cuyo estado inicial ser No Inicializado.

Pgina 10 de 130

2. Comandos Fiscales
2.1. Estructura de los comandos
Los comandos fiscales usados para comunicacin entre la impresora fiscal y el host (PC, ECR, etc.) deben responder al siguiente formato de string: STX SN ID FS Campo FS Campo .. ETX BCC

Estructura comando fiscal Cant. Bytes 1 1 Descripcin Start of Frame (ASCII 02H). Comienzo de paquete de informacin. Sequence number. Un nmero par entre 20H y 7fH que identifica el paquete enviado. El SN del paquete siguiente debe continuar la secuencia, y una vez alcanzado 7fH se comienza nuevamente por 20H. La respuesta debe tener el mismo SN. Cdigo de identificacin del comando fiscal, representado mediante un caracter ASCII (por ejemplo, "Y" para pedir la fecha/hora fiscal). Field Separator (ASCII 1cH). Separador de campos del comando Parmetro requerido por el comando fiscal. (El par FS y Campo pueden repetirse varias veces de acuerdo al tipo de comando envado). End of Frame (ASCII 03H). Fin de paquete de informacin. Block Check Character: Checksum del paquete que se obtiene sumando todos los bytes anteriores.

STX SN

ID FS Campo ETX BCC

1 1 n 1 4

Pgina 11 de 130

2.2. Campos de los comandos


2.2.1. Tipos de datos y abreviaturas
En las descripciones de los comandos se han utilizado las siguientes abreviaturas para el tipo de dato que debe contener cada campo integrante: H Hexadecimal Consiste en caracteres ASCII que representan dgitos hexadecimales -ASCII 48 (0) al 57 (9), y/o 65 (A) al 70 (F) y/o 97 (a) al 102 (f)-. A Alfanumrico Consiste en caracteres ASCII en el rango 32 ( ) a 175 (). N Numrico Consiste en caracteres ASCII que representan dgitos decimales ASCII 48 (0) al 57 (9)- y del punto decimal, precedidos del signo positivo o negativo. Los nmeros sin signo son considerados positivos. Los ceros a la izquierda pueden ser omitidos. D Fecha (AAMMDD) AA Debe estar en el rango 00 95, representando al ao 20AA.; y 96 99 representando al ao 19AA. MM Debe estar en el rango 01 12, representando al mes del ao indicado. DD Debe estar en el rango 01 31, representando al dia del mes, para el ao indicado. El cero a la izquierda puede omitirse en el campo del ao, pero no pueden omitirse en el campo del mes, ni en el del da. T Hora (HHMMSS) HH Debe estar en el rango 0 23, representando la hora. MM Debe estar en el rango 00 59, representando los minutos de la hora indicada. SS en el rango 00 59, representando los segundos de la hora indicada. El cero a la izquierda puede omitirse en el campo de las horas, pero no en el de los minutos, ni en el de los segundos. Si se recibe un comando con el tipo errneo de datos para un determinado campo, se responde con un error de campo en el status fiscal (ver apndice 2) y el comando es ignorado por el controlador fiscal.

2.2.2. Longitud de los campos


Los campos son de longitud variable. En la descripcin de los comandos se indica el tamao mximo de los mismos, pero dicho tamao puede reducirse si el dato a transcribir tiene menor longitud.

2.2.3. Campos vacos


Pgina 12 de 130

Si un campo se encuentra vaco, puede eliminrselo. An as, deben conservarse los separadores de campo al comienzo (siempre) y al final del campo eliminado (excepto que se trate del ltimo campo).

2.2.4. Campos de montos


Los campos que contienen montos son numricos y deben responder al siguiente formato: nnnnnnnnn,nnnn Donde: Indica el signo que afecta al nmero representado (si ste es positivo, puede no indicarse). nnnnnnnnn Indica que el campo tiene una parte entera de tantos dgitos como n se indican (en este caso, 9 dgitos). , Indica el punto decimal, que debe indicarse obligatoriamente. nnnn Indica que el campo tiene una parte decimal de tantos dgitos como n se indican. En el modelos SMH/PT-250FPA corresponden 4 decimales para el precio unitario del comando de impresin de tem. Los campos de montos son de longitud variable. En caso de que la parte entera tenga menos dgitos que el mximo permitido, no es necesario llenar el campo con ceros a la izquierda (no debe hacerse tampoco con espacios). En cuanto a los decimales, an en el caso de que se trate de nmeros enteros debe respetarse el formato e indicarse al menos un cero. En caso de querer rellenar la longitud del campo a derecha (en la parte decimal), hacerlo con ceros y no con espacios. Para ms informacin del formato de los campos ver apndice 10

2.2.5. Cantidades
El campo correspondiente a las cantidades tiene un formato con 10 decimales con las siguientes caractersticas: - No es necesario llenar los diez lugares decimales. S es obligatorio indicar el punto decimal y, al menos, un dgito decimal aunque ste sea cero. En el modelo SMH/PT-250FPA, el campo de las cantidades tiene hasta siete dgitos (solamente 4 en modelos y versiones anteriores), incluyendo el punto decimal.

El punto decimal es mvil y el uso del signo ms o menos es optativo. En todos los casos se pueden ingresar los 10 dgitos decimales mencionados en el punto anterior, pero en la factura slo se imprimirn hasta diez caracteres con redondeo. Por ejemplo, los valores siguientes son vlidos: -999999; 999999, 123456.1234567890 (en la factura se imprime 123456.123), 0.1234567890 (en la factura se imprime 0.12346789).

Pgina 13 de 130

Debido a lo anterior -y al procedimiento de redondeo- es posible que, en el caso de productos pesables, el resultado de multiplicar la cantidad (el peso) impresa en la factura por el valor unitario del artculo difiera, en algn decimal, con el valor impreso de la venta y en la misma factura. El uso de cantidades (pesos) con 10 decimales es una respuesta a la variedad de balanzas de distintas caractersticas existentes en plaza y, de acuerdo a la experiencia recogida por Compaa Hasar, resulta la solucin ms satisfactoria.

2.2.6. Campos con texto


Si un campo de texto contiene el string TOTAL o cualquiera de sus variantes (combinaciones de letras maysculas y minsculas, reemplazo de la letra o por un nmero 0, incorporacin de espacios o caracteres especiales entre letras) se lo reemplazar automticamente por el string T#TAL , o por la variante correspondiente. Los nicos campos que admiten la inclusin del string Total: - Nombre o Razn Social en el comando InitEpromFiscal (Datos del propietario para la inicializacin fiscal). - Nombre o Razn Social en el comando SetCustomerData (Datos del comprador en una factura).

2.2.7 Descripcin de errores de los comandos


Luego de la descripcin de cada comando se entrega una descripcin de los errores que pueden presentar los mismos al intentar ser ejecutados. Dicha descripcin posee el siguiente formato: Tipo de error -> ERROR N

Lo cual representa que en cada comando, al ocurrir un error en algn campo del comando enviado (simbolizado por N), detrs del status de la impresora y el status fiscal presentes en las respuestas (ver ejemplos) se enva la cadena de caracteres ERROR N, en lugar del resto de la respuesta habitual. Por ejemplo, para un comando genrico una respuesta normal sera: [STX][SN][Status impresora][Status fiscal][Campos restantes de la respuesta][ETX][BCC] Ahora supongamos que en el comando enviado ocurri un error en el campo 1. La respuesta obtenida en este caso sera: [STX][SN][Status impresora][Status fiscal]1ERROR 1[ETX][BCC] Ntese que antes de la cadena correspondiente se da el nmero del campo donde ocurri el error.

2.3. Clasificacin de los comandos


Segn la funcin que cumplen, los comandos pueden dividirse en doce grandes grupos:
Pgina 14 de 130

- 1. Comandos de inicializacin, baja fiscal y configuracin - Comando de inicializacin: pone al controlador en estado de entrenamiento o fiscal. - Comando de baja: bloquea definitivamente el controlador fiscal. Es decir, no es posible recuperarse del bloqueo a no ser que se cambie la memoria EPROM fiscal. - Comandos de configuracin: configuran ciertos parmetros de operacin del controlador fiscal. - 2. Comandos de diagnstico y consulta Permiten conocer el estado en que se encuentran la impresora, el controlador fiscal, el parser de este ltimo, los parmetros de configuracin y los datos de inicializacin de la memoria EPROM. - 3. Comandos de control fiscal Comprueban el estado de la memoria de trabajo, hacen el cierre de la jornada fiscal y emiten reportes de auditora. - 4. Comandos de comprobante fiscal Realizan todos los pasos necesarios para abrir una factura, vender, hacer devoluciones y descuentos, y anular o cerrar la factura. - 5. Comandos de comprobantes no fiscales Realizan todos los pasos necesarios para abrir un comprobante no fiscal, hacer las operaciones correspondientes y cerrarlo. - 6. Comandos de alcuotas ITBMS. Son comandos relativos a los registros de las distintas opciones de ITBMS en el sistema. - 7. Comandos comunes a varios tipos de documentos Son comandos globales vlidos para todo tipo de documentos. - 8. Comandos de control de la impresora Avanzan el papel de impresin de las facturas. - 9. Comandos de fecha, hora encabezamiento y cola de factura. Permiten programar fecha / hora, encabezamiento / cola y datos del comprador de un comprobante fiscal y consultarlos. - 10. Comando de gaveta de dinero Permite abrir la gaveta del dinero.

Pgina 15 de 130

- 11. Comandos de domicilio fiscal Estos comandos permiten grabar y consultar las lneas de domicilio fiscal, que sern impresas en los comprobantes emitidos. - 12. Comandos de la memoria de auditora Estos comandos se utilizan para el manejo de la memoria de auditora (cinta de auditora electrnica).

Pgina 16 de 130

3. Descripcin de los comandos


3.1. Comandos de inicializacin, baja y configuracin
3.1.1. InitEpromFiscal - Inicializacin
(Reservado para uso exclusivo de Compaa Hasar. Se lo menciona en este manual para referencia de desarrolladores de software) Inicializa la impresora fiscal grabando en la memoria EPROM fiscal los siguientes datos correspondientes al emisor y al controlador fiscal (todos los campos tienen longitud fija): a. Razn social del emisor (3x42 caracteres alfanumricos). b. Nmero de registro de la impresora fiscal (6 caracteres alfabticos + 7 caracte res numricos) c. Nmero de Registro nico de Contribuyente (RUC) (18 caracteres numricos). Nota: El controlador no verifica la validez de los datos indicados en los puntos b. y c., por lo que esa responsabilidad ser exclusiva del inicializador del equipo. El ltimo parmetro corresponde a la clave de validacin que permitir al controlador restringir la ejecucin de este comando -de modo que esta accin solo pueda ser efectuada por medio del uso del software provisto por Compaa Hasar a este fin-. Este comando causa que el controlador fiscal abandone el estado No Inicializado. Finalizada la inicializacin, se imprime automticamente el reporte de inicializacin del controlador fiscal. Utilizacin del comando y estados Cuando la impresora se encuentra en Estado No Inicializado, se puede acceder tanto al Modo Entrenamiento como al Modo Fiscal. Para acceder al Modo Entrenamiento, debe enviarse el presente comando con todos los campos vacos, excepto el Nmero de Registro de la Impresora (ver tabla ms abajo). Se entiende que cuando un campo est vaco debe enviarse el separador de campo correspondiente a continuacin del anterior, por ejemplo: Teniendo la siguiente cadena: 08000600P25 Si el segundo campo debiera estar vaco, debera enviarse: 0800P25 Para acceder al Modo Fiscal se tienen dos instancias:

Pgina 17 de 130

- Acceso al Modo Fiscal desde Modo Entrenamiento: Debe enviarse el presente comando con todos los campos completos, excepto el Nmero de Registro de la Impresora, o bien con ste Nmero de Registro de la Impresora coincidente con el que ya posee. - Acceso al Modo Fiscal desde Estado No Inicializado: Debe enviarse el presente comando completo, es decir, con todos sus campos llenos.

C O M A N D O: N Byte 1 2 3 4 5-50 51 52-97 98 99-144 145 146-175 176 177-178 179 180-192 193 194-239 240 241-286 287 288-333 334 335-364 365 366-367 368 Descripcin STX SN 0xb0 (ASCII 176) FS Lnea 1 de Razn Social del Contribuyente FS Lnea 2 de Razn Social del Contribuyente FS Lnea 3 de Razn Social del Contribuyente FS Nde Registro nico de Contribuyente (RUC) FS N de DV de Contribuyente (DV) FS Nde Registro de la Impresora FS Lnea 1 de Razn social del Distribuidor FS Lnea 2 de Razn social del Distribuidor FS Lnea 3 de Razn social del Distribuidor FS N de Registro nico de Contribuyente (RUC) del Distribuidor FS N de DV de Distribuidor (DV) FS Tipo

A A A A A A A A A A A
Pgina 18 de 130

369-372 373 374-377

Clave de validacin ETX BCC

Ejemplo: [STX][SN]Supermercado GARCA HNOS SAde Jos y PedroGarca682073-1464676 DV3335HHHPP0000001 Ramos General S.A. 456124-1-757583 DV33436804 [ETX][BCC]

Pgina 19 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN 0xb0 (ASCII 176) FS Status de la Impresora: datos en ASCII FS Status fiscal:datos en ASCII ETX BCC Tipo

H H

Ejemplo: [STX][SN]00800600[ETX][BCC]

Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 Si hay error sintctico en algunos de los parmetros del 1 al 11 -> ERROR_1 a ERROR_11 Clave de validacin no vlida -> ERROR_13 Ninguna de las 3 lneas de razn social es programada** -> ERROR_1 *estados no vlidos: todos menos NO_INI e INI_JF **debe haber una como mnimo

Pgina 20 de 130

3.1.2. KillEpromFiscal - Baja de la memoria fiscal


(Reservado para uso exclusivo de Compaa Hasar. Se lo menciona en este manual para referencia de desarrolladores de software) Chequea el estado de la memoria de trabajo y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. El ltimo parmetro corresponde a la clave de validacin que permitir al controlador restringir la ejecucin de este comando -de modo que esta accin solo pueda ser efectuada por medio del uso del software provisto por Compaa Hasar a este fin-. Responde dando de baja la memoria fiscal, de manera que no puede volver a ser escrita. (Una memoria dada de baja igual permite obtener reportes fiscales y de auditora.) Este comando slo puede ejecutarse inmediatamente despus de un cierre de jornada fiscal (comando DailyClose). C O M A N D O: N Byte 1 2 3 4 5-17 18 19-22 23 24-27 Descripcin STX SN (ASCII 177) FS N de registro de la impresora FS Clave de validacin ETX BCC Tipo

A H

Ejemplo: [STX][SN]HHHHPP00000006804[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN (ASCII 177) FS Status de la Impresora: datos en ASCII FS Status fiscal:datos en ASCII ETX BCC Tipo

H H

Ejemplo: [STX][SN]00800600[ETX][BCC] FS = separador de campo (ASCII 28)

Pgina 21 de 130

Errores que puede presentar este comando: Estado no vlido* CF ya ha sido dado de baja Clave de validacin no vlida Nro. de registro no vlido o no coincide con el nro. de registro del CF *estados no vlidos: todos menos INI_JF , WAIT_KILL y AUDIT_FULL -> -> -> -> ERROR_0 ERROR_0 ERROR_2 ERROR_1

Pgina 22 de 130

3.1.3. SetConfigCFData - Config. del controlador por parmetros


Configura uno (a eleccin) de los siguientes parmetros de funcionamiento del controlador fiscal. - Tipo de corte del papel de facturas. - Calificador de precio de venta (precio total incluye el impuesto- / precio base no incluye el impuesto-). - Calificador de formato de montos, cantidades y porcentajes (montos originales mutiplicados por 10, cantidades originales por 10 y porcentajes originales por 106 / montos, cantidades y porcentajes originales sin modificar). - Cadena de caracteres del Signo Monetario. - Tipo de display utilizado El calificador de precio de venta se refiere al monto ingresado en el comando PrintLineItem. Al inicializar el controlador fiscal, esta variable de configuracin se programa en funcin de la categora fiscal del emisor (para Contribuyente Ordinario el valor default es Precio Base, para el resto de las categoras el valor default es Precio Total). El calificador de formato de montos se refiere a todos los comandos / respuestas que reciben / informan montos, cantidades y/o porcentajes. Esto incluye los comandos de Venta, Pago y Subtotal de documentos fiscales, los Cierres Z / X, los Reportes de Auditora por rango de fechas / nmero de zetas (reporte global diario), el reporte de registro diario de memoria fiscal, el reporte de memoria de trabajo y la programacin / lectura de alcuotas ITBMS. Esta variable de configuracin se incorpora solo para mantener la compatibilidad con el protocolo Epson. La cadena de caracteres que identifica al Signo Monetario es texto libre de 1 caracter mnimo y hasta 5 caracteres mximo. Nota: este tratamiento no afecta a aquellos montos ingresados con punto decimal -en tal caso se respeta el formato original del mismo-. Este comando ser rechazado si el parmetro a modificar y el valor correspondiente no mantienen coherencia. Este comando solo puede ser ejecutado fuera de todo comprobante.

Pgina 23 de 130

C O M A N D O: N Byte 1 2 3 4 5 Descripcin STX SN d (ASCII 100) FS Parmetro a modificar 1: Tipo de corte del papel de facturas 2: Calificador de precio de venta 3: Calificador de formato de montos, cantidades y porcentajes 4: Cadena de caracteres del Signo Monetario 5: Tipo de Display FS Valor del parmetro Parmetro 1 F: corte total P: corte parcial N: no corta Parmetro 2 T: precio total (incluye el impuesto) Otro: precio base (no incluye el impuesto) Parmetro 3 M: montos, cantidades y porcentajes originales modificados. Otro: montos, cantidades y porcentajes originales sin modificar. Parmetro 4 Texto libre de 1 caracter mnimo y hasta 5 caracteres mximo Parmetro 5 O: Display original Otro: Display nuevo ETX BCC Tipo

6 7

8 9-12

Ejemplo: [STX][SN]d1P[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN d (ASCII 100) FS Status de la Impresora: datos en ASCII FS Status fiscal:datos en ASCII ETX BCC Tipo

H H

Ejemplo: [STX][SN]d008006000600[ETX][BCC]
Pgina 24 de 130

Errores que puede presentar este comando: Estado no vlido* Identificador de variable de configuracin no vlido Valor a programar no vlido** Error al grabar las variables en HDD*** -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_92

*estados no vlidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AUDIT_NEXT_TO_FULL y AUDIT_FULL **cada variable de configuracin tiene sus valores vlidos ***Se activa el bit 5 del Status Fiscal

Pgina 25 de 130

3.1.4. StoreLogoData - Carga logotipo


Carga en la impresora el logotipo de usuario. Este comando slo puede ser ejecutado inmediatamente despus de emitido el comando de cierre de jornada fiscal. El archivo asociado al logotipo debe estar en formato BMP monocromo, con hasta 128 pixels de alto por 576 pixels de ancho. La transformacin del archivo BMP a comandos de la impresora puede realizarse mediante el programa mklogo.exe provisto por Compaa Hasar. Tipo de informacin Segn sea el valor de este byte, la informacin enviada es la primera lnea del logo (I), una lnea intermedia (C), o la ltima lnea (F). Datos Datos del archivo BMP del logo. Cada byte del archivo se expresa en dos nibbles hexadecimales (valores 0 9, A F) que son transmitidos como caracteres ASCII. C O M A N D O: N Byte 1 2 3 4 5 Descripcin STX SN 90H FS Tipo de informacin I: comienza carga C: contina carga logotipo en curso F: Finaliza carga logotipo FS Datos (hasta 128 caracteres, en cantidad par) ETX BCC Tipo

6 7-134 135 136-139

Ejemplo: [STX][SN]I7CCFCCFF9FF3CF3199FF3CFBFF0067EF7EFE7FCFFF3CF3BFF3F300679E7EFFFFFFFF FFFFFFFFFFFF000FFFFFF8001FFFFFFE0007FFFFFFFC000FFFFFF000FFFF[ETX][BCC]

Pgina 26 de 130

R E S P U E S T A: N Byte 1 2 3 4 4-7 8 9-12 13 14-17 Descripcin STX SN 90H FS Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII ETX BCC Tipo

H H

Ejemplo: [STX][SN]C0800600[ETX][BCC]

Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 Parmetro no corresponde con opcin vlida (I, F, C) -> ERROR_1 Si los parmetros de carga estn fuera de secuencia (I,F,C - en ese orden)-> ERROR_1 Si al hacer el ciere, no hay datos de imagen (imagen vaca) -> ERROR_1 Imagen del logo no cumple con las especificaciones -> ERROR_1 Si la fraccin de imagen no es vlida -> ERROR_2 *estados no vlidos: todos menos INI_JF

Pgina 27 de 130

3.1.5. ResetLogoData - Reset logotipo


Este comando slo puede ser ejecutado inmediatamente despus de emitido el comando de cierre de jornada fiscal. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN 91H ETX BCC Tipo

Ejemplo: [STX][SN][ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN 90H FS Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII ETX BCC Tipo

H H

Ejemplo: [STX][SN]C0800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* *estados no vlidos: todos menos INI_JF -> ERROR_0

Pgina 28 de 130

3.1.6. SetFantasy - Programacin Texto Nombre Comercial Programa o borra la lnea de texto correspondiente al nombre comercial del usuario. Este comando debe ser ejecutado inmediatamente luego de haber realizado un cierre Z (ver DailyClose)

C O M A N D O: N Byte 1 2 3 4 5 6 7-52 53 54-57 STX SN \ (ASCII 92) FS Nmero de lnea (1-1) 0: borra FS Texto de hasta 46 caracteres ETX BCC Descripcin Tipo

N T

Ejemplo: [STX][SN]\1Vidriera El Cristal[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN \ (ASCII 92) FS Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII ETX BCC Tipo

H H

Ejemplo: [STX][SN]\C0800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido -> Si n de lnea es invlido** -> Si el texto es invlido -> Si existe error de grabacin /almacenamiento*** -> *estados no vlidos: NO INI, BLOCKED y EST_DOC ** n vlidos: 0 a 1 *** Se activa el bit 5 del Status Fiscal.
Pgina 29 de 130

ERROR_0 ERROR_1 ERROR_2 ERROR_92

3.2. Comandos de diagnstico y consulta


3.2.1. StatusExtra - Consulta extra de estado
Responde, a travs de la lnea serie conectada al host, con el estado en que se encuentra el controlador fiscal y el hardware del impresor. Complementa al comando Status_IF. A diferencia de dicho comando, los nmeros de ltimo documento no corresponden a comprobantes acumulados -ya cerrados-. Esta alternativa es particularmente util para consultar y obtener el nmero de un comprobante cuando el mismo est siendo emitido. Nota: El significado de la respuesta de los campos Status de la impresora, Status fiscal, Status auxiliar y Status de documento se describe en los Apndices 2, 3, 4 y 5. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN *(ASCII 42) ETX BCC Tipo

Ejemplo: [STX][SN]*[ETX][BCC]

Pgina 30 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 19 20-23 24 25-26 27 28-29 30 31-34 35 34-43 45 46-52 53 54-61 62 63-70 71 72-79 80 81-87 89 90-93 Descripcin STX SN *(ASCII 42) Status de la impresora:datos en ASCII FS Status fiscal: datos en ASCII FS Status auxiliar: datos en ASCII FS Status documento: datos en ASCII FS Ultimo valor de secuencia (0x20 a 0x7F) FS Cdigo ltimo comando ejecutado con xito (2 bytes hexa) FS Nmero de ltimo reporte Z emitido FS N ltima Factura emitida FS N ltima Nota de Dbito emitida FS N ltima Nota de Crdito emitida FS N ltimo Documento No Fiscal emitido FS Nmero de ltimo Reporte X emitido FS Nmero de ltimo Reporte de Auditora emitido ETX BCC Tipo

H H N N A A N N N N N N N

Ejemplo: [STX][SN]*00800600000000002157120789052354665 [ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI, BLOCKED

Pgina 31 de 130

3.2.2. GetConfigCFData - Consulta de configuracin


Responde, a travs de la lnea serie, con los parmetros de configuracin con los que opera el controlador fiscal. No afecta la memoria de trabajo. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN f(ASCII 102) ETX BCC Tipo

Ejemplo: [STX][SN]f[ETX][BCC] R E S P U E S T A: STX SN f(ASCII 102) Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Tipo de corte del papel de factura F: corte total P: corte parcial N: no corta 16 FS 17 Calificador de precio de venta T: precio total (incluye el impuesto) B: precio base (no incluye el impuesto) FS Calificador de formato de montos, cantidades y porcentajes M: montos, cantidades y porcentajes originales modificados. Otro: montos, cantidades y porcentajes originales sin modificar 18/18-22 Cadena de caracteres del signo monetario 23 Tipo de display utilizado O: Display original Otro: Display nuevo 24 ETX 25-28 BCC Ejemplo: [STX][SN]f00800600PBM[ETX][BCC] N Byte 1 2 3 4 5-8 9 10-13 14 15 Descripcin Tipo

H H A

A A A

Pgina 32 de 130

Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI, BLOCKED

Pgina 33 de 130

3.2.3. GetSerial - Consulta parcial de datos de inicializacin


Responde, a travs de la lnea serie, con el nmero de registro (serial) y el nmero de registro nico de Contribuyente (RUC) de la impresora, almacenados en memoria EPROM fiscal durante la inicializacin. No altera la memoria de trabajo. C O M A N D O: N Byte 1 2 3 4 5-8 Ejemplo: Descripcin STX SN (ASCII 128) ETX BCC [STX][SN][ETX][BCC] Tipo

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-27 28 29-38 39 40-43 Descripcin STX SN (ASCII 128) Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Nmero de registro de la impresora FS Nmero de Registro nico de Contribuyente (RUC) ETX BCC Tipo

H H A A

Ejemplo: [STX][SN]00800600HHHHPP0000000V123456789[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI, BLOCKED

Pgina 34 de 130

3.2.4. GetPrinterVersion - Consulta de versin de controlador fiscal


Responde, a travs de la lnea serie, con el modelo y versin del controlador fiscal. C O M A N D O: Formato del string N Byte 1 2 3 4 5-8 Ejemplo: Descripcin STX SN 7fH ( ASCII 127) ETX BCC [STX][SN][ETX][BCC] Tipo

R E S P U E S T A: Formato del string N Byte 1 2 3 4 5-8 9 10-13 14 15-49 50 51-54 Ejemplo: Descripcin STX SN 7fH ( ASCII 127) FS Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Versin: SMH/PT-250FPA - Versin 1.00 ETX BCC [STX][SN]00800600 SMH/PT-250FPA Versin 1.00 [ETX][BCC] Tipo

H H A

Este comando nunca da error.

Pgina 35 de 130

3.2.5. GetInitData - Consulta de datos de inicializacin


Responde, a travs de la lnea serie, conlos datos almacenados en memoria EPROM durante la inicializacin. No altera la memoria de trabajo C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN s (ASCII 115) ETC BCC Tipo

Ejemplo: [STX][SN]s[ETX][BCC] R E S P U E S T A: Formato del string N Byte 1 2 3 4 5-7 9 10-13 14 15-60 61 63-107 108 109-154 155 156-185 186 187-188 189 190-202 203 204-249 250 251-296 297 298-343 344 345-374 375 376-377 Descripcin STX SN s (ASCII 115) Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Lnea 1 de Razn Social del Contribuyente FS Lnea 2 de Razn Social del Contribuyente FS Lnea 3 de Razn Social del Contribuyente FS N de Registro nico de Contribuyente (RUC) FS N de DV de Contribuyente (DV) FS N de Registro de la Impresora FS Lnea 1 de Razn Social del Distribuidor FS Lnea 2 de Razn Social del Distribuidor FS Lnea 3 de Razn Social del Distribuidor FS N de Registro nico de Distribuidor (RUC) FS N de DV de Distribuidor Tipo

H H A A A A A A A A A A A
Pgina 36 de 130

378 379-382

ETX BCC

Ejemplo: [STX][SN]s00800600Garay Hnos.Av Independencia 124(1245) 00119470001022956248HHX1234567Distribuidora Jos682073146467612[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI, BLOCKED

Pgina 37 de 130

3.2.6. GetFantasy - Consulta Texto Nombre Comercial


Devuelve la lnea de texto correspondiente al nombre comercial del usuario que est programada en la impresora (ver SetFantasy) C O M A N D O: N Byte 1 2 3 4 5 6 7-10 Descripcin STX SN (ASCII 153) FS Nmero de lnea de encabezamiento (1-1) ETX BCC Tipo

Ejemplo: 1 R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-60 61 62-65 Ejemplo: Descripcin STX SN (ASCII 153) Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres ETX BCC [STX][SN]00800600Vidriera El Cristal[ETX][BCC] -> -> ERROR_0 ERROR_1 Tipo

H H A

Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED ** n vlidos: 1

Pgina 38 de 130

3.3. Comandos de control fiscal


3.3.1. DailyClose - Reporte Z/Reporte X
Responde, segn sea el valor enviado en el byte dedicado a tipo de informe, con: a. Valor: cualquier caracter excepto Z Impresin de un Informe X. En ese caso los acumuladores correspondientes a reportes de lectura son puestos en cero, conservndose en memoria diaria los acumuladores correspondientes al comando de cierre diario. b. Valor: Z Cierre de jornada fiscal: volcado de acumuladores de memoria de trabajo a memoria fiscal, puesta a cero de los acumuladores en memoria de trabajo, e impresin de informe Z de cierre de jornada fiscal. C O M A N D O: N Byte 1 2 3 4 5 6 7 8 9-12 Descripcin STX SN 9 (ASCII 57) FS Tipo de informe Z: Reporte Z Otro: Reporte X FS Impresin de Reporte X S: NO imprime el Reporte X Otro: Imprime el Reporte X ETX BCC Tipo

Ejemplo: [STX][SN]9ZS[ETX][BCC]

Pgina 39 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-19 20 21-26 27 28-32 34 35-40 41 42-47 48 49-56 57 58-62 63 64-75 76 77-84 85 86-90 91 92-103 104 105-112 113 114-118 119 120-131 132 133-140 141 142-146 147 148-155 156 157-164 165 166-177 178 179-190 191 192-196 Descripcin STX SN 9 (ASCII 57) Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Nmero del ltimo Reporte Z emitido FS Fecha de inicio del cierre reportado (Z / X) FS Hora de inicio del cierre reportado (Z / X) FS Fecha de cierre del cierre reportado (Z / X) FS Hora de cierre del cierre reportado (Z / X) FS Nmero de ltima Factura emitida FS Cantidad de Facturas emitidas (Z / X) FS Monto total (BI) de ventas de Facturas (Z / X) FS Nmero de ltima Nota de Dbito emitida (Z / X) FS Cantidad de Notas de Dbito emitidas (Z / X) FS Monto total (BI) de ventas de Notas de Dbito (Z / X) FS Nmero de ltima Nota de Crdito emitida (Z / X) FS Cantidad de Notas de Crdito emitidas (Z / X) FS Monto total (BI) de ventas de Notas de Crdito (Z / X) FS Nmero de ltimo Documento No Fiscal emitido FS Cantidad de Documentos No Fiscales emitidos (Z / X) FS Nmero de ltimo Reporte X emitido FS Nmero de ltimo Reporte de Auditora emitido FS Monto total (BI) de ventas gravadas (FA + ND NC) (Z / X) FS Monto total (BI) de ventas no gravadas (FA + ND NC) (Z / X) FS Cantidad de Devoluciones (FA + ND + NC) (Z / X) Tipo

H H N N N N N N N N N N N N N N N N N N N N N
Pgina 40 de 130

197 198-209 210 211-215 216 217-228 229 230-234 235 236-247 248 249-260 261 262-266 267 268-279 280 281-292 293 294-298 299 300-311 312 313-324 325 326-330 331 332-343 344 345-356 357 358-362 363 364-375 376 377-380 382 383-394 395 396-400 401 402-413 414 415-419 420 421-432 433 434-438 439 440-451 452 453-456

FS Monto total (BI) de Devoluciones (FA + ND NC) (Z / X) FS Cantidad de Descuentos (FA + ND + NC) (Z / X) FS Monto total (BI) de Descuentos (FA + ND NC) (Z / X) FS Tasa imponible ITBMS1 FS Monto venta base imponible ITBMS1 (FA + ND NC) (Z / X) FS Monto impuesto base imponible ITBMS1 (FA + ND NC) (Z / X) FS Tasa imponible ITBMS2 FS Monto venta base imponible ITBMS2 (FA + ND NC) (Z / X) FS Monto impuesto base imponible ITBMS2 (FA + ND NC) (Z / X) FS Tasa imponible ITBMS3 FS Monto venta base imponible ITBMS4 (FA + ND NC) (Z / X) FS Monto impuesto base imponible ITBMS3 (FA + ND NC) (Z / X) FS Tasa imponible ITBMS4 FS Monto venta base imponible ITBMS4 (FA + ND NC) (Z / X) FS Monto impuesto base imponible ITBMS4 (FA + ND NC) (Z / X) FS Cantidad de pagos en Efectivo (FA + ND + NC) (Z / X) FS Monto total de pagos en Efectivo (FA + ND NC) (Z / X) FS Cantidad de pagos con Tarjeta de Dbito (FA + ND + NC) (Z / X) FS Monto total de pagos con Tarjeta de Dbito (FA + ND NC) (Z / X) FS Cantidad de pagos con Tarjeta de Crdito (FA + ND + NC) (Z / X) FS Monto total de pagos con Tarjeta de Crdito (FA + ND NC) (Z / X) FS Cantidad de pagos con Cheque (FA + ND + NC) (Z / X) FS Monto total de pagos con Cheque (FA + ND NC) (Z / X) FS Cantidad de otros pagos (FA + ND + NC) (Z / X) FS Monto total de otros pagos (FA + ND NC) (Z / X) ETX BCC

N N N N N N N N N N N N N N N N N N N N N N N N N

Pgina 41 de 130

Ejemplo:[STX][SN] 008006002511011517010111011617000515248518750,60130 22450,0012020390,0015016 [ETX][BCC] Errores que puede presentar este comando: Estado no vlido* Identificador de reporte no es X o Z Error sintctico en parmetro 2 -> -> -> ERROR_0 ERROR_1 ERROR_2

*estados no vlidos: todos menos INI_JF, EN_JF y AUDIT_NEXT_TO_FULL

Pgina 42 de 130

3.3.2. Reporte de memoria fiscal Consulta por fecha


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra Permite generar un reporte que incluye los diferentes cierres diarios que han sido almacenados en la memoria fiscal durante el periodo de fechas seleccionado. El reporte puede ser detallado o un resumen mensual. Opciones: Calificador de Tipo de reporte solicitado G: reporte global. Otro: reporte individual. Utilizando el calificador de comando con la opcin G el reporte impreso incluye un bloque de informacin con la suma de los acumulados del perodo solicitado. Utilizando otro calificador de comando cualquiera, el reporte impreso contiene un bloque de informacin por cada cierre Z efectuado dentro del perodo solicitado. C O M A N D O: N Byte 1 2 3 4 5-10 11 12-17 18 19 20 21-24 Ejemplo: Descripcin STX SN : (ASCII 58) FS Fecha inicial del perodo (formato AAMMDD) FS Fecha final del perodo (formato AAMMDD) FS Tipo de reporte G: reporte global. Otro: reporte individual. ETX BCC [STX][SN]:070827070829G[ETX][BCC] Tipo

D D A

Pgina 43 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN : (ASCII 58) FS Status de la impresora FS Status Fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]:00800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* Fecha de inicio no vlida Fecha de fin no vlida Fecha de inicio posterior a fecha de fin Calificador de tipo de reporte no vlido No hay datos del perodo solicitado *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_3 ERROR_1 WAIT_KILL, KILLED, AU-

EN_JF,

Pgina 44 de 130

3.3.3. Reporte de memoria fiscal - Consulta por Nmero de Reporte Z


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Permite generar un reporte conformado por los acumulados correspondientes a cada cierre diario 'Z', dentro del rango solicitado. Opciones: Calificador de Tipo de reporte solicitado G: reporte global. Otro: reporte individual. Utilizando el calificador de comando con la opcin G el reporte impreso incluye un bloque de informacin con la suma de los acumulados del rango solicitado. Utilizando otro calificador de comando cualquiera, el reporte impreso contiene un bloque de informacin por cada cierre Z efectuado dentro del rango solicitado. Este comando no altera la memoria de trabajo. C O M A N D O: N Byte 1 2 3 4 5-8 9 10-13 14 15 16 17-20 Ejemplo: Descripcin STX SN ; (ASCII 59) FS Nmero de Z inicial del perodo FS Nmero de Z final del perodo FS Tipo de reporte G: reporte global Otro: reporte individual ETX BCC [STX][SN] ;13800G[ETX][BCC] Tipo

N N A

R E S P U E S T A: NByte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN ; (ASCII 59) FS Status de la impresora FS Status Fiscal ETX BCC Tipo

H H

Pgina 45 de 130

Ejemplo:

[STX][SN];00800600[ETX][BCC]

Errores que puede presentar este comando: Estado no vlido* Nro. de Z de inicio <=0 Nro. de Z de fin <=0 Nro. de Z de inicio > nro. de Z de fin No hay datos del perodo solicitado Error sintctico en parmetro 1 Error sintctico en parmetro 2 Error sintctico en parmetro 3 *estados no validos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> -> -> -> -> -> -> EN_JF, ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_1 ERROR_1 ERROR_2 ERROR_3 WAIT_KILL, KILLED, AU-

Pgina 46 de 130

3.3.4. GetDailyReport - Reporte de registro diario


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Enva por el canal serie los datos correspondientes a uno de los registros diarios almacenados en la memoria fiscal, de acuerdo con lo siguiente: a. Si en los bytes dedicados a nmero de Z o fecha se ingresa un nmero de Z (hasta cuatro dgitos; valor mximo 1900), enva los datos correspondientes al registro de dicha Z. En este caso, el byte dedicado a calificador debe llenarse con el caracter Z. b. Si en los bytes a nmero de Z o fecha se ingresa una fecha (formato AAMMDD), enva los datos correspondientes al primer registro diario correspondiente a esa fecha. En este caso, el byte dedicado a calificador debe llenarse con el caracter F. Este comando es rechazado si se encuentra abierto un comprobante cualquiera (fiscal o no-fiscal). No altera la memoria de trabajo. C O M A N D O: N Byte 1 2 3 4 5-8 9 10 11 12-15 Descripcin STX SN < (ASCII 60) FS Nmero de Z o fecha (campo de longitud variable) FS Calificador de Z o fecha Z: nmero de Z; F: fecha ETX BCC Tipo

A A

Ejemplo: [STX][SN]<1Z[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-9 10 11-14 15 16-19 20 21-26 27 Descripcin STX SN < (ASCII 60) FS (Informacin general) Status de la impresora FS Status fiscal FS Nmero del cierre Z reportado FS Fecha de inicio del cierre Z reportado FS Tipo

H H N N

Pgina 47 de 130

28-33 34 35-40 41 42-47 48 49-56 57 58-62 63 64-75 76 77-84 85 86-90 91 92-103 104 105-112 113 114-118 119 120-131 132 133-140 141 142-146 147 148-159 160 161-168 169 170-177 178 179-180 181 182-193 194 195-199 200 201-212 213 214-218 219 220-231 232 233-237 238 239-250 251 252-263 264

Hora de inicio del cierre Z reportado FS Fecha de cierre del cierre Z reportado FS Hora de cierre del cierre Z reportado FS Nmero de ltima Factura emitida FS Cantidad de Facturas emitidas FS Monto total (BI) de ventas de Facturas FS Nmero de ltima Nota de Dbito emitida FS Cantidad de Notas de Dbito emitidas FS Monto total (BI) de ventas de Notas de Dbito FS Nmero de ltima Nota de Crdito emitida FS Cantidad de Notas de Crdito emitidas FS Monto total (BI) de ventas de Notas de Crdito FS Nmero de ltimo Documento No Fiscal emitido FS Cantidad de Documentos No Fiscales emitidos FS Monto total (BI) de ventas gravadas (FA + ND NC) FS Nmero de ltimo Reporte X emitido FS Nmero de ltimo Reporte de Auditora emitido FS Monto total (BI) de ventas gravadas (FA + ND NC) Monto total (BI) de ventas no gravadas (FA + ND - NC) FS Cantidad de Devoluciones (FA + ND + NC) FS Monto total (BI) de Devoluciones (FA + ND NC) FS Cantidad de Descuentos (FA + ND + NC) FS Monto total (BI) de Descuentos (FA + ND NC) FS Tasa imponible ITBMS1 FS Monto ventas base imponible ITBMS1 (FA + ND NC) FS Monto impuesto base imponible ITBMS1 (FA + ND NC) FS

N N N N N N N N N N N N N N N N N N

N N N N N N N

Pgina 48 de 130

265-269 270 271-282 283 284-295 296 297-301 302 303-314 315 316-327 328 329-333 334 335-346 347 348-359 360 361-365 366 367-378 379 380-384 385 386-397 398 399-403 404 405-416 417 418-422 423 424-435 436 437-441 442 443-454 455 456-459

Tasa imponible ITBMS2 FS Monto ventas base imponible ITBMS2 (FA + ND NC) FS Monto impuesto base imponible ITBMS2 (FA + ND NC) FS Tasa imponible ITBMS3 FS Monto ventas base imponible ITBMS3 (FA + ND NC) FS Monto impuesto base imponible ITBMS3 (FA + ND NC) FS Tasa imponible ITBMS4 FS Monto ventas base imponible ITBMS4 (FA + ND NC) FS Monto impuesto base imponible ITBMS4 (FA + ND NC) FS Cantidad de pagos en Efectivo (FA + ND + NC) FS Monto total de pagos en Efectivo (FA + ND NC) FS Cantidad de pagos con Tarjeta de Dbito (FA + ND + NC) FS Monto total de pagos con Tarjeta de Dbito (FA + ND NC) FS Cantidad de pagos con Tarjeta de Crdito (FA + ND + NC) FS Monto total de pagos con Tarjeta de Crdito (FA + ND NC) FS Cantidad de pagos con Cheque (FA + ND + NC) FS Monto total de pagos con Cheque (FA + ND NC) FS Cantidad de otros pagos (FA + ND + NC) (Z / X) FS Monto total de otros pagos (FA + ND NC) (Z / X) ETX BCC

N N N N N N N N N N N N N N N N N N N

Ejemplo: [STX][SN]< 008006000710021204532071002175432210735128621,0010,5 10,007,001190,0090,00500,00105,00500,0052,500,000,00100,00 7,000,000,000,000,000,00200,0050,00100,0021,0050,005,250,00 0,00100,007,0040,002,101,051,000,70[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> Si el tipo de reporte no es vlido (F/Z) -> Error sintctico en parmetro 1 -> ERROR_0 ERROR_2 ERROR_1
Pgina 49 de 130

Error sintctico en parmetro 2 *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL

-> INI_JF,

ERROR_2 EN_JF, WAIT_KILL, KILLED, AU-

Pgina 50 de 130

3.3.5. GetWorkingMemory - Consulta de memoria RAM


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: Informando, a travs de la lnea serie, los datos almacenados en memoria RAM durante la jornada fiscal. Este comando es rechazado si se encuentra abierto un comprobante cualquiera (fiscal o no-fiscal). No altera la memoria de trabajo. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN g (ASCII 103) ETX BCC Tipo

Ejemplo:[STX][SN]g[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 19 20-27 28 29-33 34 35-46 47 48-55 56 57-61 62 Descripcin STX SN g (ASCII 103) FS (Informacin general) Status de la impresora FS Status fiscal FS Nmero de ltimo Reporte Z emitido FS Nmero de ltima Factura emitida FS Cantidad de Facturas emitidas FS Monto total (BI) de ventas de Facturas FS Nmero de ltima Nota de Dbito emitida FS Cantidad de Notas de Dbito emitidas FS Tipo

H H N N N N N N

Pgina 51 de 130

63-74 75 76-83 84 85-89 90 91-102 103 104-111 112 113-117 118 119-126 127 126-135 136 137-148 149 150-161 162 163-167 168 169-180 181 182-186 187 188-199 200 201-205 206 207-218 219 220-231 232 233-237 238 239-250 251 252-263 264 265-269 270 271-282 283 284-295 296 297-301 302 303-314 315 316-327 328

Monto total (BI) de ventas de Notas de Dbito FS Nmero de ltima Nota de Crdito emitida FS Cantidad de Notas de Crdito emitidas FS Monto total (BI) de ventas de Notas de Crdito FS Nmero de ltimo Documento No Fiscal emitido FS Cantidad de Documentos No Fiscales emitidos FS Nmero de ltimo Reporte X emitido FS Nmero de ltimo Reporte de Auditora emitido FS Monto total (BI) de ventas gravadas (FA + ND NC) FS Monto total (BI) de ventas no gravadas (FA + ND NC) FS Cantidad de Devoluciones (FA + ND + NC) FS Monto total (BI) de Devoluciones (FA + ND NC) FS Cantidad de Descuentos (FA + ND + NC) FS Monto total (BI) de Descuentos (FA + ND NC) FS Tasa imponible ITBMS1 FS Monto ventas base imponible ITBMS1 (FA + ND NC) FS Monto impuesto base imponible ITBMS1 (FA + ND NC) FS Tasa imponible ITBMS2 FS Monto ventas base imponible ITBMS2 (FA + ND NC) FS Monto impuesto base imponible ITBMS2 (FA + ND NC) FS Tasa imponible ITBMS3 FS Monto ventas base imponible ITBMS3 (FA + ND NC) FS Monto impuesto base imponible ITBMS3 (FA + ND NC) FS Tasa imponible ITBMS4 FS Monto ventas base imponible ITBMS4 (FA + ND NC) FS Monto impuesto base imponible ITBMS4 (FA + ND NC) FS

N N N N N N N N N N N N N N N N N N N N N N N N N N

Pgina 52 de 130

329-333 334 335-346 347 348-352 353 354-365 366 367-371 372 373-384 385 386-390 391 392-403 404 405-409 410 411-422 423 424-427

Cantidad de pagos en Efectivo (FA + ND + NC) FS Monto total de pagos en Efectivo (FA + ND NC) FS Cantidad de pagos con Tarjeta de Dbito (FA + ND + NC) FS Monto total de pagos con Tarjeta de Dbito (FA + ND NC) FS Cantidad de pagos con Tarjeta de Crdito (FA + ND + NC) FS Monto total de pagos con Tarjeta de Crdito (FA + ND NC) FS Cantidad de pagos con Cheque (FA + ND + NC) FS Monto total de pagos con Cheque (FA + ND NC) FS Cantidad de otros pagos (FA + ND + NC) (Z / X) FS Monto total de otros pagos (FA + ND NC) (Z / X) ETX BCC

N N N N N N N N N N

Ejemplo: [STX][SN]g0080060010380710021754323438632321,0010,50,00 1950,0050,001000,00210,00900,0094,500,000,000,000,00500,0020 0,00200,0042,00100,0010,500,000,000,000,000,00[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI y BLOCKED

Pgina 53 de 130

3.4. Comandos de comprobante fiscal


3.4.1. OpenFiscalReceipt - Abrir comprobante fiscal
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: a. Abriendo un comprobante fiscal; b. Imprimiendo el encabezamiento; c. Borrando la factura provisoria que se encuentra en la memoria de trabajo, de manera que los acumuladores correspondientes queden dispuestos para iniciar un nuevo comprobante. Tipo de documento A: Factura. B: Nota de Dbito. D: Nota de Crdito. La carga de los datos del comprador -Nombre y RUC- es opcional para Facturas y obligatoria para Notas de Crdito, siendo su carga responsabilidad exclusiva de la aplicacin. La carga de los datos del comprobante original -Nmero, Fecha, Hora y Nmero de Registro del impresor fiscal que emiti dicho comprobante- es ignorada para Facturas y obligatoria para Notas de Crdito y Notas de Dbito, siendo su carga responsabilidad exclusiva de la aplicacin. Este comando es rechazado si: a. Ya se encuentra abierto un comprobante; b. La memoria fiscal est llena; c. Se detecta un error en la memoria de trabajo o en la memoria fiscal; d. Se intenta emitir un comprobante de tipo Nota de Crdito o Nota de Dbito sin haberse especificado los datos del comprobante original. IMPORTANTE: El comprobante de devolucin (nota de crdito) se considera un comprobante fiscal, por lo cual el contador correspondiente a la cantidad de comprobantes emitidos se incrementar al realizar comprobantes de devolucin. Al cerrar un comprobante de devolucin, los montos correspondientes se almacenan en los acumuladores de devoluciones y de impuestos asociados a devoluciones. C O M A N D O: N Byte 1 2 3 4 5-46/4788/89Descripcin STX SN @ (ASCII 64) FS Nombre o Razn Social del comprador (ver apndice 13) A
Pgina 54 de 130

Tipo

130 131 132-161 162 163-186 187 188-210 211 212-217 218 219-224 225 226

225 226 227 228-231

FS Nmero de Registro Unico de Contribuyente (RUC) del comprador FS Nmero del comprobante original FS Nmero de registro de la impresora fiscal que emiti el comprobante original FS Fecha del comprobante original (formato AAMMDD) FS Hora del comprobante original (formato HHMMSS) FS Tipo de documento B: Nota de Dbito D: Nota de Crdito A u otro: Factura FS Campo opcional no utilizado (ASCII 127) FS Campo opcional no utilizado (ASCII 127) ETX BCC

A A A A A A

H H

Ejemplo: [STX][SN] @Sanchez & Thompson S A22096511979106802HHP0000002 071002164032 [ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN @ (ASCII 64) FS Status de la impresora FS Status Fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]@00800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> Error sintctico en algunos de los parmetros 1 a 7 -> *estados no vlidos: todos menos INI_JF y EN_JF ERROR_0 ERROR_1 a ERROR_7

Pgina 55 de 130

3.4.2. PrintFiscalText - Imprimir texto en comprobante fiscal


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde imprimiendo un texto (tpicamente, datos descriptivos de una venta) con una longitud mxima de 42 caracteres. Este comando es rechazado si no se encuentra abierto un comprobante fiscal. Este comando puede emitirse hasta un mximo de cuatro veces seguidas (en cuyo caso cambia el estado del controlador fiscal), y slo puede estar seguido por el comando PrintLineItem. Los caracteres de seleccin de modalidad de impresin se pueden insertar al comienzo de una lnea de texto fiscal con el fin de generar un efecto en el texto. Su rango de trabajo es de 0xF0 a 0xFF, pudiendo utilizarse cualquier combinacin de los bits 0,1,2 y 3. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Centrado y Doble Ancho Modo Impresin en Rojo .. ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 243 (0xF3) ASCII 248 (0xF8) (No Disponible en este modelo)

Como se puede ver, las combinaciones se logran (siempre y cuando estn permitidas) haciendo una suma lgica (OR) entre los cdigos hexadecimales pertenecientes a las caractersticas a combinar. C O M A N D O: N Byte 1 2 3 4 5-46 47 48 49 50-53 Descripcin STX SN A (ASCII 65) FS Hasta 42 caracteres de texto FS Reservado (No Disponible en este modelo de CF) ETX BCC Tipo

A A

Ejemplo: [STX][SN]AOferta del da[ETX][BCC]

Pgina 56 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-12 14 15-18 Descripcin STX SN A (ASCII 65) FS Status de la impresora FS Status Fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]A00800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> Se super la mxima cantidad de lneas de texto fiscal (4) -> Error sintctico en parmetro 1 -> ERROR_0 ERROR_0 ERROR_1

*estados no vlidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF

Pgina 57 de 130

3.4.3. PrintLineItem - Imprimir tem en comprobante fiscal


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra Responde: a. imprimiendo una lnea dividida en tres campos: descripcin del tem, identificador de tasa de ITBMS aplicada y monto del tem; b. sumando los montos de venta e ITBMS a los acumulados en la factura provisoria. Opciones Multiplicacin Si el valor acumulado es distinto a 1, previo a la lnea se imprime otra con dicho valor, seguido del signo de multiplicacin y el precio unitario del tem. (O sea, se usa para vender cantidades diferentes a la unidad). En ese caso, el monto al que se refiere el primer prrafo surge de la multiplicacin del valor almacenado en los bytes dedicados a cantidad por el valor almacenado en los bytes dedicados a monto (en este caso, precio unitario). Imputacin Si se llena este byte con el caracter M, el signo del monto resultante de la operacin ser el del producto de la cantidad por el precio unitario de la venta. En caso contrario, si se llena este byte con el caracter m, el signo del monto resultante de la operacin ser el del producto de la cantidad por el precio unitario de la venta por -1. Nota: si el signo resultante de la operacin es negativo estaremos frente a una devolucin o descuento de productos ya vendidos en el mismo comprobante. Esta operatoria solo ser aceptada si previamente se ha vendido un producto con la misma descripcin y tasa de ITBMS, y con monto o cantidad mayor o igual.

Este comando es rechazado si: a. No se encuentra abierto un comprobante fiscal; b. Los montos acumulados fueran a causar un desborde en la capacidad del acumulador del total o fueran a negativizar los acumuladores de BI o Impuesto correspondientes a la tasa ITBMS asociada a esta operacin. El campo de descripcin provee de flexibilidad para describir un tem en letras maysculas o minsculas. En caso de que el nombre del producto contenga la palabra TOTAL, t()tal (o cualquier otra de sus variantes), la impresora fiscal automticamente reemplazar dicha palabra por t#tal. El campo de la cantidad se multiplicar por el campo de monto del tem, y darn como resultado el total del tem de lnea. El monto total mximo de una lnea es 99.999.999,99, y si se supera dicho monto, el controlador fiscal informa que va a ocurrir un desbordamiento del acumulador interno. El campo de la tasa impositiva determina en que acumulador interno se suma este monto para el clculo impositivo en el momento de realizar la transaccin. Este campo no debe

Pgina 58 de 130

faltar y se puede trabajar con cualquiera de las tasas registradas en el proceso de fiscalizacin. Si se enva a la impresora fiscal una tasa no permitida, el comando es rechazado. El calificador de comando permite determinar como afecta el tem a los totales de las transacciones. Si el tem de lnea se encuentra calificado como monto negativo (calificador de comando = m), se colocar el signo menos (0x2D) al final de la impresin del monto. El comando es rechazado si el monto correspondiente al tem es superior al monto acumulado en la memoria de trabajo para dicha tasa impositiva. C O M A N D O: N Byte 1 2 3 4 5 6 7-20 21 22-31 32 33-37 38 39 40 41-50 51 52-55 Descripcin STX SN B (ASCII 66) FS Hasta 20 caracteres de texto descripcin FS Cantidad (slo se imprimen siete caracteres incluido el signo) FS Monto FS Tasa de ITBMS FS Imputacin M: suma; m: resta FS Cdigo de producto ETX BCC Tipo

A N N N A N

Ejemplo: [STX][SN]BItem1_Arrozxkg2,564,3021,00M12451235[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-7 9 10-12 14 15-26 27 28-31 Descripcin STX SN B (ASCII 66) FS Status de la impresora FS Status Fiscal FS Cantidad de operaciones de venta / anulacin realizadas ETX BCC Tipo

H H N

Ejemplo: [STX][SN]B008006004[ETX][BCC]

Pgina 59 de 130

Para informacin del formato del campo del monto ver apndice 10 Errores que puede presentar este comando: Estado no vlido* Error sintctico en alguno de los parmetros 1 a 6 Tasa no coincide con las programadas Error en lmites (> mximo del documento o < 0) -> -> -> -> ERROR_0 ERROR_1 a ERROR_6 ERROR_4 ERROR_0**

*estados no vlidos: todos menos SELL_DF y PRINT_TEXT_DF **modifica status fiscal: comando no vlido (bit 5) y desborde total (bit 6)

Pgina 60 de 130

3.4.4. Subtotal
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Slo se encuentra operativo durante la emisin de comprobante o inmediatamente luego de terminado el mismo. Responde: a. Calculando el subtotal del comprobante y envindolo a travs de la lnea serie, conjuntamente con el resto de la informacin relevante del comprobante; b. Si el byte dedicado a impresin se llena con el caracter P, imprimiendo la palabra Subtot, seguida del monto. Si el comando se emite a continuacin del comando Total/Tender o luego del cierre del comprobante, la palabra Subtot y el monto no se imprimen, cualquiera sea el caracter del byte dedicado a impresin (pero igual se enva el monto ya pagado por la lnea serie). No modifica la memoria de trabajo. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN C (ASCII 67) ETX BCC Tipo

Ejemplo: [STX][SN]C [ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-12 14 15-26 27 28-32 33 34-45 46 47-58 59 60-64 65 66-77 78 Descripcin STX SN C (ASCII 67) FS Status de la impresora FS Status Fiscal FS Monto venta exento FS Tasa imponible ITBMS1 FS Monto venta base imponible ITBMS1 FS Monto impuesto base imponible ITBMS1 FS Tasa imponible ITBMS2 FS Monto venta base imponible ITBMS2 FS Tipo

H H N N N N N N

Pgina 61 de 130

79-90 91 92-96 97 98-109 110 111-122 123 124-128 129 130-141 142 143-154 155 156-167 168 169-172

Monto impuesto base imponible ITBMS2 FS Tasa imponible ITBMS3 FS Monto venta base imponible ITBMS3 FS Monto impuesto base imponible ITBMS3 FS Tasa imponible ITBMS4 FS Monto venta base imponible ITBMS4 FS Monto impuesto base imponible ITBMS4 FS Monto Total ETX BCC

N N N N N N N N

Ejemplo: [STX][SN]C00800600100,0050,0021,0011,00200,0010,50 21,000,000,000,00 [ETX][BCC]

Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF

Pgina 62 de 130

3.4.5. TotalTender Pago/Cancelacin/Descuento en DF


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: Calculando el total, registrando el monto pagado, calculando el vuelto e imprimiendo estos datos. Alternativamente, cancela el comprobante abierto. Opciones: Calificador de Tipo de operacin C: anulacin del comprobante fiscal abierto. T: ingreso de un pago. D: ingreso de un descuento global (descuento general). Si se ingresa el valor T y el monto del pago supera al subtotal del comprobante, el controlador almacena el pago y luego al ejecutar el comando de cierre del comprobante calcula el vuelto a partir del monto pagado e imprime monto pagado y vuelto. Las palabras Total y Cambio son impresas en forma automtica. Si el monto del pago no alcanza el subtotal del comprobante, el mismo es ignorado. Si se ingresa ms de un pago, el controlador solo considera el ltimo de ellos, ignorando por completo a los anteriores. Una vez cumplida esta operacin, slo puede cerrarse el comprobante o programarse la cola del mismo o ingresar lneas de texto fiscal destinadas a la especificacin de caractersiticas de los medios de pago. Si se ingresa el valor D, si el signo del monto ingresado es positivo estaremos frente a un descuento, y si el signo del monto ingresado es negativo estaremos frente a un recargo. Este comando es rechazado si: a. No se encuentra abierto un comprobante fiscal; b. Si va a causar un desborde en los acumuladores; c. Si el total (monto y/o ITBMS) es negativo. C O M A N D O: N Byte 1 2 3 4 5-24 25 26-38 39 40 Descripcin STX SN D (ASCII 68) FS Hasta 20 caracteres de texto descripcin FS Monto pagado / Porcentaje de descuento FS Tipo de operacin C: anula T: importe pagado D: descuento global (descuento general) FS Tipo

A N A

41

Pgina 63 de 130

42

43 44-47

Tipo de Medio de Pagop 1: Efectivo 2: Tarjeta de dbito 3: Tarjeta de crdito 4: Cheque Otro: Otros pagos ETX BCC

Ejemplo: [STX][SN]DEfectivo685,00T21,00[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN D (ASCII 68) FS Status de la impresora FS Status Fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]D00800600[ETX][BCC]

NOTA: El campo Monto pagado se refiere a distintas cosas en funcin del campo Tipo de operacin, a saber: Si Tipo de operacin es T, Monto pagado se refiere al monto en $ que se ha pagado. Si Tipo de operacin es D, Monto pagado se refiere al porcentaje de descuento (por ejemplo, si el descuento es del 25%, este valor debe valer 25 (ver el formato de los datos en el Apndice 10)). Para informacin del formato del campo del monto ver apndice 10

Pgina 64 de 130

Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 Descripcin no vlida -> ERROR_1 Calificador = pago o bonificacin y el monto no es vlido -> ERROR_2 Calificador = descuento y el porcentaje no es vlido (<0 o >100) -> ERROR_2 Calificador = descuento y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificacin y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificacin y tasa ITBMS no coincide con alguna existente -> ERROR_4 Calificador no vlido -> ERROR_3 Calificador = descuento o bonificacin y hay error en lmites (> Mximo del documento o < 0) -> ERROR_0** Error sintctico en parmetro 2 -> ERROR_2 Error sintctico en parmetro 4 -> ERROR_4 *estados no vlidos: tofdos menos SELL_DF, PRINT_TEXT_DF, WAIT_CLOSE_DF **modifica status fiscal: comando no vlido (bit 5) y desborde total (bit 6)

Pgina 65 de 130

3.4.6. CloseFiscalReceipt - Cerrar comprobante fiscal


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Si an no se ha emitido el comando Total/Tender responde: a. Calculando el total, ingresando como monto pagado el total de lo vendido (de manera que el vuelto es igual a $0.00), e imprimiendo estos valores (estas operaciones son las mismas que realiza el comando Total/Tender). b. Cerrando el comprobante fiscal; c. Acumulando los montos en la memoria de trabajo; d. Imprimiendo el trailer del comprobante; e. Imprimiendo el logotipo fiscal y el nmero de registro del controlador fiscal; f. Alimentando el papel de facturas y cortndolo. Si ya se ha emitido el comando Total/Tender, responde: a. Imprimiendo el Total de lo vendido; b. Cerrando el comprobante fiscal; c. Acumulando los montos en la memoria de trabajo; d. Imprimiendo el trailer del comprobante; e. Imprimiendo el logotipo fiscal y el nmero de registro del controlador fiscal; f. Alimentando el papel de facturas y cortndolo. De corresponder se imprime la leyenda CAMBIO $..... Opciones: Calificador de Tipo de operacin (opcional) A: cierre parcial del comprobante. E: cierre econmico del comprobante. Otro: cierre normal del comprobante. El Cierre parcial imprime el Total del comprobante y luego permite ingresar lneas de texto fiscal para especificar los medios de pago (no permite seguir ejecutando comandos de Pago). Para cerrar definitivamente el comprobante habr que ejcutar nuevamente el comando de cierre. El Cierre econmico imprime el Total del comprobante, lo cierra definitivamente, corta el papel y luego imprime las primeras lneas descriptivas del prximo comprobante fiscal. Despus de ejecutar este cierre solo debera abrirse un nuevo comprobante fiscal. El Cierre normal equivale al cierre econmico solo que no pre-imprime las primeras lneas descriptivas del prximo comprobante fiscal (este cierre tambin se ejecuta cuando el parmetro de Tipo de operacin es omitido). Este comando es rechazado si: a. No se encuentra abierto un comprobante fiscal; b. Si va a causar un desborde en los acumuladores; c. Si el total (monto y/o ITBMS) es negativo.

Pgina 66 de 130

C O M A N D O: N Byte 1 2 3 4 5 Descripcin STX SN E (ASCII 69) FS Tipo de operacin (opcional) A: cierre parcial E: cierre econmico Otro: cierre normal ETX BCC Tipo

6 7-10

Ejemplo: [STX][SN]EA[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-22 23 24-27 Descripcin STX SN E (ASCII 69) FS Status de la impresora FS Status Fiscal FS Cantidad de comprobantes emitidos dentro de la jornada fiscal. ETX BCC Tipo

H H N

Ejemplo: [STX][SN]E008006001710[ETX][BCC] NOTA: Si se enva un pago cuyo monto es menor al subtotal del comprobante en curso, al hacerse el cierre del mismo la impresora no imprimir el medio de pago y el monto. Errores que puede presentar este comando:

Estado no vlido* Subtotal es cero** Error sintctico en parmetro1

-> -> ->

ERROR_0 ERROR_0 ERROR_1

*estados no vlido: todos menos SELL_DF y WAIT_CLOSE_DF **cancela el documento

Pgina 67 de 130

3.5. Comandos de comprobante no-fiscal


3.5.1. OpenNonFiscalDocument Apertura de Documento No Fiscal
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: a. Abriendo un comprobante no-fiscal; b. Imprimiendo, en la impresora de facturas, el encabezamiento (excepto la razn social y el nmero de CUIT, que ya se encuentran impresos), que incluye la leyenda NO FISCAL. Este comando es rechazado si ya se encuentra abierto un comprobante fiscal o no-fiscal. C O M A N D O: N Byte 1 2 3 4 5 4 5-8 Descripcin STX SN H (ASCII 72) FS Identificador de documento C: Copia de documento Otro: DNF de usuario ETX BCC Tipo

Ejemplo: [STX][SN]HC[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN H (ASCII 72) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]H00800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos INI_JF y EN_JF


Pgina 68 de 130

3.5.2. PrintNonFiscalText - Imprimir texto no-fiscal


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra Responde imprimiendo un texto con una longitud mxima de 80 caracteres. En un documento no-fiscal emitido mediante la impresora de facturas slo se imprimen los 42 primeros caracteres. Este comando es rechazado si no se encuentra abierto un comprobante no-fiscal. El comando se puede repetir cuantas veces se desee, pero cada cuatro lneas se intercalar automticamente la leyenda NO FISCAL. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo .. C O M A N D O: N Byte 1 2 3 4 5-46 47 48-51 Descripcin STX SN I (ASCII 73) FS Hasta 42 caracteres de texto ETX BCC Tipo ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8)

Ejemplo: [STX][SN]ILista de clientes[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN I (ASCII 73) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]I00800600[ETX][BCC]

Pgina 69 de 130

Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos PRINT_TEXT_DNF

Pgina 70 de 130

3.5.3. CloseNonFiscalReceipt - Cerrar comprobante no-fiscal


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: a. Cerrando el comprobante no-fiscal. b. Imprimiendo el pi del comprobante (incluyendo la leyenda NO FISCAL cada 4 lneas). c. Avanzando el papel de facturas y cortndolo. Opciones: Calificador de Tipo de operacin (opcional) E: cierre econmico del comprobante. Otro: cierre normal del comprobante. El Cierre econmico imprime el Total del comprobante, lo cierra definitivamente, corta el papel y luego imprime las primeras lneas descriptivas del prximo comprobante fiscal. Despus de ejecutar este cierre solo debera abrirse un nuevo comprobante fiscal. El Cierre normal equivale al cierre econmico solo que no pre-imprimen las primeras lneas descriptivas del prximo comprobante fiscal (este cierre tambin se ejecuta cuando el parmetro de Tipo de operacin es omitido). Este comando es rechazado si no se encuentra abierto un comprobante no-fiscal. Cambia el estado del controlador fiscal. C O M A N D O: N Byte 1 2 3 4 5 6 7-10 Descripcin STX SN J (ASCII 74) FS Tipo de operacin (opcional) E: cierre econmico Otro: cierre normal. ETX BCC Tipo

Ejemplo: [STX][SN]JE[ETX][BCC]

Pgina 71 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-22 23 24-27 Descripcin Tipo STX SN J (ASCII 74) FS Status de la impresora H FS Status Fiscal H FS Nmero del documento no fiscal recin emitido (nmero dentro de la jornada fiscal) N ETX BCC

Ejemplo:[STX][SN]J0080060045[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* Error sintctico en parmetro 1 -> -> ERROR_0 ERROR_1

*estados no vlidos: todos menos PRINT_TEXT_DNF

Pgina 72 de 130

3.6 Comandos de alcuotas ITBMS


3.6.1. SetIVARates - Programacin de Alcuotas ITBMS
(Reservado para uso exclusivo de Compaa Hasar. Se lo menciona en este manual para referencia de desarrolladores de software) Programa el valor de las tasas de ITBMS ITBMS1, ITBMS2, ITBMS3 e ITBMS4 en el controlador fiscal. El valor 0.00 se utiliza para indicar que la tasa debe ser programada -no podr ser utilizada-. El ltimo parmetro corresponde a la clave de validacin que permitir al controlador restringir la progragacin de dichas tasas -de modo que esta accin solo pueda ser efectuada por medio del uso del software provisto por Compaa Hasar a este fin-. Este comando slo puede ser ejecutado inmediatamente al inicio de la jornada fiscal y siempre que la categora fiscal del emisor sea Contribuyente ordinario. C O M A N D O: N Byte 1 2 3 4 5-9 10 11-15 16 17-21 22 23-27 28 29-32 33 34-37 Descripcin STX SN (ASCII 158) FS Tasa imponible ITBMS1 FS Tasa imponible ITBMS2 FS Tasa imponible ITBMS3 FS Tasa imponible ITBMS4 FS Clave de validacin ETX BCC Tipo

N N N N H

Ejemplo:[STX][SN]21,0010,505,252,504578[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 Descripcin STX SN (ASCII 158) FS Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII ETX Tipo

H H

Pgina 73 de 130

15-18

BCC

Ejemplo: [STX][SN]00800600[ETX][BCC] Para informacin del formato de los campos ver apndice 9 Errores que puede presentar este comando: Estado no vlido* Categora fiscal distinta de ordinario No verifica clave de validacin Error de grabacin / almacenamiento*** Si no se especifica ITBMS1 y se -> Especifica alguna de las otras dos. Tasa Tasa Tasa Tasa ITBMS1 ITBMS2 ITBMS3 ITBMS4 invlida** invlida** invlida** invlida** -> ERROR_0 -> ERROR_0 -> ERROR_4 -> ERROR_92 ERROR_1 -> -> -> -> ERROR_1 ERROR_2 ERROR_3 ERROR_4

*estados no vlidos: todos menos INI_JF **tasa invlida: < 0 , >100 , no numrica o fuera del formato nn.nn (modo Hasar) o nnnn (modo Epson). ***Se activa el bit 5 del Status Fiscal

Pgina 74 de 130

3.6.2. GetIVARates - Consulta de Alcuotas ITBMS programadas


Enva a travs de la lnea serie el valor programado correspondiente a las alcuotas ITBMS1, ITBMS2, ITMBS3 e ITBMS4 programadas en el controlador fiscal. Si alguna alcuota ITBMS no haba sido previamente programada retorna el campo correspondiente en 0.00. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN (ASCII 159) ETX BCC Tipo

Ejemplo: [STX][SN][ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-19 20 21-25 26 27-31 32 33-37 38 39-42 Descripcin STX SN (ASCII 159) FS Status de la impresora FS Status fiscal FS Tasa imponible ITBMS1 FS Tasa imponible ITBMS2 FS Tasa imponible ITBMS3 FS Tasa imponible ITBMS4 ETX BCC Tipo

H H N N N

Ejemplo: [STX][SN]0080060021,0010,50,00[ETX][BCC]

Para informacin del formato de los campos ver apndice 10 Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI y BLOCKED

Pgina 75 de 130

3.7. Comandos comunes a varios tipos de documentos


3.7.1. Cancel Cancelacin general de Documentos
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde cancelando el documento abierto, cualquiera que fuese ste. Este comando es rechazado si no se encuentra abierto un documento. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN (ASCII 152) ETX BCC Tipo

Ejemplo: [STX][SN][ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN (ASCII 152) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]00800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos EST_DOC (los 4 estados a los que hace referencia)

Pgina 76 de 130

3.7.2. SetBarCode - Cdigo de barras


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde almacenando los datos de un cdigo de barras y posteriormente imprimindolo al final del comprobante. Anulacin: La programacin del cdigo de barras queda anulada luego de impreso el mismo. Variantes: Tipo de cdigo: Segn el tipo de codigo de barras que se desee programar, el byte de tipo de cdigo debe llenarse con uno de los siguientes valores numricos: 0: Borra de memoria el cdigo almacenado 1: EAN 13 2: EAN 8 3: UPCA 4: ITS 2 de 5 Caracteres a ingresar: Segn el tipo de codigo de barras que se desee programar, la cantidad de caracteres numricos que deben ingresarse son: EAN 13: 12 caracteres numricos EAN 8: 7 caracteres numricos UPCA: 11 caracteres numricos ITS 2 de 5: siempre cantidad par, hasta 18 caracteres numricos En los cuatro casos la cantidad de caracteres numricos debe cumplir con la especificacin anterior; de no ser as el comando es rechazado. Impresin de nmeros: Si se llena este byte con el caracter P, bajo el cdigo de barras se imprime el nmero correspondiente. Si se lo llena con cualquier otro caracter, se imprime el cdigo de barras solamente. (Comando en la pgina siguiente)

Pgina 77 de 130

C O M A N D O: N Byte 1 2 3 4 5 6 713/17/18/38 14 15 16 17 18 19-22 Descripcin STX SN Z (ASCII 90) FS 0: borra;1: EAN 13; 2: EAN 8; 3: UPCA; 4: ITS 2 de 5 FS Datos EAN 8 / UPCA / EAN 13 / ITS 2 de 5 FS Impresin de nmeros P: imprime nmeros; otro: no imprime nmeros FS Sin efecto en este modelo (poner cualquier caracter) ETX BCC Tipo

N N A A

Ejemplo: [STX][SN]Z1779123456789NP[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN Z (ASCII 90) FS Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII ETX BCC Tipo

H H

Ejemplo: [STX][SN]ZC0800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 Id. de cdigo invlido -> ERROR_1 Cdigo numrico invlido/no numrico o cant. no corresponde -> ERROR_2 Id. de impresin de nmeros no es solo un caracter -> ERROR_3 Error al grabar cdigo en disco -> ERROR_92 *estados no vlidos: NO_INI, AUDIT_NEXT_TO_FULL, AUDIT_FULL, WAIT_KILL, KILL, BLOCKED

Pgina 78 de 130

3.8. Comandos de control de la impresora


3.8.1. FeedReceipt - Avanzar papel de facturas
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra Responde avanzando el papel de facturas tantas lneas como se indica en los bytes 5-6. C O M A N D O: N Byte 1 2 3 4 5-6 7 8-11 Descripcin STX SN P (ASCII 80) FS Cantidad de lneas a avanzar ETX BCC Tipo

Ejemplo: [STX][SN]P2[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN P (ASCII 80) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]P00800600[ETX][BCC] Errores que puede presentar este comando: Si n de lnea es invlido* -> * n vlidos: 0 a 99 ERROR_1

Pgina 79 de 130

3.8.2. CutPaper - Cortar Papel de recibo


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Ejecuta el corte de papel de recibo. Este comando es rechazado si se intenta su ejecucin mientras se encuentra abierto cualquier documento (en los documentos el corte de papel es automtico). C O M A N D O: N Byte 1 2 3 4 5 Descripcin STX SN K (ASCII 75) ETX BCC Tipo

Ejemplo: [STX][SN]K[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN K (ASCII 75) FS Status de la impresora FS Status Fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]K00800600[ETX][BCC] Este comando nunca da error.* *nunca da error, pero dentro de un documento el comando es ignorado.

Pgina 80 de 130

3.9. Comandos de fecha, hora, encabezamiento y cola de documentos


3.9.1. SetDateTime - Establecer Fecha y Hora
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra Establece la fecha y hora del reloj de tiempo real interno del controlador fiscal. La fecha y la hora del reloj de tiempo real son impresos en todos los documentos. Este comando es rechazado si: a. El formato es incorrecto. b. La nueva fecha y hora es anterior a la actualmente configurada en el controlador. c. Hay totales diarios en la memoria de trabajo (es decir, antes de ingresar la fecha debe realizarse un cierre de jornada fiscal). C O M A N D O: N Byte 1 2 3 4 5-10 11 12-17 18 19-22 Descripcin STX SN X (ASCII 88) FS Fecha (Formato AAMMDD) FS Hora (Formato HHMMSS) ETX BCC Tipo

D T

Ejemplo: [STX][SN]X070912163500[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN X (ASCII 88) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo:[STX][SN]X00800600[ETX][BCC]

Pgina 81 de 130

Errores que puede presentar este comando: Fecha no vlida Hora no vlida Fecha y hora nuevas son anteriores a la actual Ya se cambi fecha/hora (1 cambio por jornada) Estado no vlido* * estados no vlidos: todos menos INI_JF, NO_INI

-> -> -> -> ->

ERROR_1 ERROR_2 ERROR_0 ERROR_0 ERROR_0

Pgina 82 de 130

3.9.2. GetDateTime - Consultar fecha y hora


Responde con la fecha y la hora del reloj de tiempo real. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN Y (ASCII 89) ETX BCC Tipo

Ejemplo: [STX][SN]Y[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-20 21 22-27 28 29-32 Descripcin STX SN Y (ASCII 89) FS Status de la impresora FS Status fiscal FS Fecha (Formato AAMMDD) FS Hora (Formato HHMMSS) ETX BCC Tipo

H H D T

Ejemplo: [STX][SN]Y00800600070912163500[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estado no vlido: BLOCKED

Pgina 83 de 130

3.9.3. SetHeader - Programacin Texto Encabezado Documentos


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Almacena una lnea de texto en la estructura HEADER, para ser impresa en el encabezamiento de un documento. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo .. Borrado Borrado de lneas individuales: Para borrar una lnea de encabezamiento ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro. Borrado de grupo de lneas: Para borrar todas las lneas de encabezamiento que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. C O M A N D O: N Byte 1 2 3 4 5 6 7-52 53 54-57 Descripcin STX SN ] (ASCII 93) FS Nmero de lnea de encabezamiento (1-10) 0: borra encabezamiento FS Texto de hasta 46 caracteres ETX BCC Tipo ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8) (No Disponible en este modelo)

N T

Ejemplo: [STX][SN]]1Papeltodo SA[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN ] (ASCII 93) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]]00800600[ETX][BCC]
Pgina 84 de 130

Errores que puede presentar este comando: Estado no vlido -> Si n de lnea es invlido** -> Si el texto es invlido -> Si existe error de grabacin /almacenamiento*** -> *estados no vlidos: NO INI, BLOCKED y EST_DOC ** n vlidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal

ERROR_0 ERROR_1 ERROR_2 ERROR_92

Pgina 85 de 130

3.9.4. SetTrailer - Programacin Texto Pie Documentos


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Almacena una lnea de texto en la estructura TRAILER, para ser impresa en el pi de un documento. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo .. Borrado Borrado de lneas individuales: Para borrar una lnea de pie ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro. Borrado de grupo de lneas: Para borrar todas las lneas de pie que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. C O M A N D O: N Byte 1 2 3 4 5 6 7-52 53 54-57 Descripcin STX SN ^ (ASCII 94) FS Nmero de lnea de pi (1-10) 0: borra pie FS Texto de hasta 46 caracteres ETX BCC Tipo ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8) (No Disponible en este modelo)

N T

Ejemplo: [STX][SN]^1Gracias por su compra[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN ^ (ASCII 94) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]^00800600[ETX][BCC]
Pgina 86 de 130

Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento*** *estados no vlidos: NO INI, BLOCKED y EST_DOC ** n vlidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_92

Pgina 87 de 130

3.9.5. GetHeader - Consulta Texto Encabezado Documentos


Enva a travs de la lnea serie una lnea de encabezamiento almacenada en la estructura HEADER. C O M A N D O: N Byte 1 2 3 4 5 6 7-10 Descripcin STX SN (ASCII 154) FS Nmero de lnea de encabezamiento (1-10) ETX BCC Tipo

Ejemplo: [STX][SN]1[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-59 60 61-64 Descripcin STX SN (ASCII 154) FS Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres ETX BCC Tipo

H H A

Ejemplo: [STX][SN]00800600Papeltodo SA[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED ** n vlidos: 1 a 10 -> -> ERROR_0 ERROR_1

Pgina 88 de 130

3.9.6. GetTrailer - Consulta Texto Pi Documentos


Enva a travs de la lnea serie una lnea de pi almacenada en la estructura TRAILER. C O M A N D O: N Byte 1 2 3 4 5 6 7-10 Descripcin STX SN (ASCII 155) FS Nmero de lnea de pie (1-10) ETX BCC Tipo

Ejemplo: [STX][SN]1[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-59 60 61-64 Descripcin STX SN (ASCII 155) FS Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres ETX BCC Tipo

H H A

Ejemplo: [STX][SN]00800600Gracias por su compra[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED * n vlidos: 1 a 10 -> -> ERROR_0 ERROR_1

Pgina 89 de 130

3.9.7. SetCustExtraData - Programacin Datos Adicionales del Comprador


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Almacena una lnea de datos adicionales del comprador en la estructura CUSTOMER, para ser impresa en la apertura del prximo documento fiscal emitido. La estructura CUSTOMER se borra cada vez que se cierra un comprobante. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo .. ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8) (No Disponible en este modelo)

Nota: en ciertos casos se permite la combinacin de ms de una modalidad de impresin simultaneamente. Borrado Borrado de lneas individuales: Para borrar una lnea de datos adicionales del comprador ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro. Borrado de grupo de lneas: Para borrar todas las lneas de datos adicionales del comprador que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. C O M A N D O: N Byte 1 2 3 4 5 6 7-52 53 54-57 Descripcin STX SN (ASCII 156) FS Nmero de lnea de datos adicionales del comprador (1-5) 0: borra datos adicionales del comprador FS Texto de hasta 46 caracteres ETX BCC Tipo

N A

Ejemplo: [STX][SN]1Direccin Legal: Andes 2541[ETX][BCC]

Pgina 90 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN (ASCII 156) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]00800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento***

-> -> -> ->

ERROR_0 ERROR_1 ERROR_2 ERROR_92

*estados no vlidos: NO INI , BLOCKED, EST_DOC, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** n vlidos: 0 a 5 ***Se activa el bit 5 del Status Fiscal

Pgina 91 de 130

3.9.8. GetCustExtraData - Consulta Datos Adicionales del Comprador


Enva a travs de la lnea serie una lnea de datos adicionales del Comprador almacenada en la estructura CUSTOMER. C O M A N D O: N Byte 1 2 3 4 5 6 7-10 Descripcin STX SN (ASCII 157) FS Nmero de lnea de datos adicionales del comprador (1-5) ETX BCC Tipo

Ejemplo: [STX][SN]1[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-60 61 62-65 Descripcin STX SN (ASCII 157) FS Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres ETX BCC Tipo

H H A

Ejemplo: [STX][SN]00800600Direccin Legal: Andes 2541[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** -> -> ERROR_0 ERROR_1

*estados no vlidos: NO INI , BLOCKED, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** n vlidos: 1 a 5

Pgina 92 de 130

3.10. Comandos de gaveta de dinero


3.10.1. OpenDrawer1 - Abrir gaveta 1 de dinero
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Abre la gaveta 1 de dinero conectada a la impresora fiscal. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN { (ASCII 123) ETX BCC Tipo

Ejemplo: [STX][SN]{[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN { (ASCII 123) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo:[STX][SN]{00800600[ETX][BCC] Este comando nunca da error.

Pgina 93 de 130

3.10.2. OpenDrawer2 - Abrir gaveta 2 de dinero


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Abre la gaveta 2 de dinero conectada a la impresora fiscal. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN | (ASCII 124) ETX BCC Tipo

Ejemplo: [STX][SN]|[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN | (ASCII 124) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]|00800600[ETX][BCC] Este comando nunca da error.

Pgina 94 de 130

3.11. Comandos de domicilio fiscal


3.11.1. SetFiscalAddress - Programacin de lneas de Domicilio Fiscal
Almacena en memoria de trabajo una de las 10 lneas de texto del Domicilio Fiscal, las cuales se imprimen automticamente al comienzo de todo Comprobante Fiscal. Su administracin es responsabilidad de la aplicacin. Este comando slo puede ser ejecutado fuera de todo comprobante. Para abrir un comprobante de tipo Factura, Nota de Crdito o Nota de Dbito ser obligatorio contar con al menos una lnea de Domicilio Fiscal programada. Estas lneas se borran luego de hacer un MAC. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo .. Borrado - Borrado de lneas individuales: Para borrar una lnea de Domicilio Fiscal ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto. - Borrado conjunto de todas las lneas: Para borrar las cinco lneas de Domicilio Fiscal que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. An as, el campo correspondiente al texto no deber estar vaco. De otra manera el comando ser rechazado. C O M A N D O: N Byte 1 2 3 4 5 6 7-51 52 53-56 Descripcin STX SN _(ASCII 95) FS N de lnea de Domicilio Fiscal (1-10) 0: borra todas las lneas FS Texto de hasta 46 caracteres ETX BCC Tipo ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8) (No Disponible en este modelo)

N T

Ejemplo: [STX][SN]_1Lnea de domicilio fiscal 1[ETX][BCC]

Pgina 95 de 130

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN _(ASCII 95) FS Status de la impresora FS Status fiscal ETX BCC Tipo

H H

Ejemplo: [STX][SN]_00800600[ETX][BCC] Errores que puede presentar este comando: Estado no vlido Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento*** *estados no vlidos: NO INI , BLOCKED y EST_DOC **n vlidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_92

Pgina 96 de 130

3.11.2. GetFiscalAddress - Consulta de lneas de Domicilio Fiscal


Enva, a travs de la lnea serie de comunicacin con el host, una lnea de texto de Domicilio Fiscal. C O M A N D O: N Byte 1 2 3 4 5 6 7-10 Descripcin STX SN (ASCII 146) FS N de lnea a reportar (1-10) ETX BCC Tipo

Ejemplo: [STX][SN]1[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 56-101 102 103-106 Descripcin STX SN (ASCII 146) FS Status de la impresora FS Status fiscal FS Texto de la lnea reportada (hasta 46 caracteres) ETX BCC Tipo

H H A

Nota: Si la lnea seleccionada no se encuentra programada, el campo del texto se reporta vaco. Ejemplo:[STX][SN]00800600Bolivar 235[ETX][BCC] Nota: Si la lnea seleccionada no se encuentra programada, el campo del texto se reporta vaco.

Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED * n vlidos: 1 a 10 -> -> ERROR_0 ERROR_1

Pgina 97 de 130

3.11.3. GetDocNumZRange - Consulta de cierre zeta en el que fue emitido un determinado comprobante
Este comando identifica el nmero de cierre Z (el rango de jornadas fiscales) en el que se halla un deteminado comprobante especificado por el usuario. En condiciones normales, el nmero de jornada fiscal inicial del rango debe coincidir con el nmero de jornada fiscal final del mismo. Si esto no ocurriese, se estara ante un error de lectura, y debern pedirse todas y cada una de las jornadas fiscales del rango (ver Reporte de Memoria Fiscal - Consulta por Nmero de Reporte Z) C O M A N D O: N Byte 1 2 3 4 5 Descripcin STX SN = (ASCII 61) FS Identificador del comprobante buscado 1: factura 2: nota de dbito 3: nota de crdito 4: documento no fiscal 5: reporte x 6: reporte de auditora FS N del comprobante buscado ETX BCC Tipo

6 7 8 9-12

Ejemplo: 1 R E S P U E S T A: N Byte 1 2 3 4 5-9 10 11-14 15 16-19 20 21-24 25 26-29 Descripcin STX SN = (ASCII 61) FS Status de la impresora FS Status fiscal FS Nmero de jornada fiscal inicial del rango FS Nmero de jornada fiscal final del rango ETX BCC Tipo

H H N N

Pgina 98 de 130

3.12 Comandos de la memoria de auditora.


3.12.1. GetPublicKey - Leer clave pblica
Obtiene la clave pblica asociada al controlador fiscal la cual fue generada en la inicializacin del mismo-. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN (ASCII 160) ETX BCC Tipo

Ejemplo: [STX][SN][ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-143 144 145-273 274 275-278 Descripcin STX SN (ASCII 160) FS Status de la impresora FS Status Fiscal FS Mdulo de la clave pblica FS Exponente de la clave pblica ETX BCC Tipo

H H A A

Ejemplo:[STX][SN]00800600[MduloCP][ExponenteCP][ETX][BCC] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 INI_JF, EN_JF, WAIT_KILL, KILLED, AU-

*estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL

Pgina 99 de 130

3.12.2. GetAuditRangeZNum - Obtener rango de cierres Z por nmeros


Dado un rango de fechas obtiene el rango de nmeros de cierres Z comprendido entre ambas. C O M A N D O: N Byte 1 2 3 4 5-10 11 12-17 18 19 20 21-24 Descripcin STX SN (ASCII 161) FS Fecha inicial del perodo (formato AAMMDD) FS Fecha final del perodo (formato AAMMDD) FS Fuente de la encuesta A: cinta de auditora Otro: memoria fiscal ETX BCC Tipo

D D

Ejemplo: [STX][SN]080110080205A[ETX][BCC]

R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 19 20-23 24 25-28 Descripcin STX SN (ASCII 161) FS Status de la impresora FS Status Fiscal FS Nmero de Z inicial del perodo FS Nmero de Z final del perodo ETX BCC Tipo

H H N N

Ejemplo: [STX][SN]0080060010801099[ETX][BCC]

Pgina 100 de 130

Errores que puede presentar este comando: Estado no vlido* Fecha de inicio no vlida Fecha de fin no vlida Fecha de inicio posterior a fecha de fin No hay informes Z en el rango Fuente de la encuesta no vlida *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_0 ERROR_3 WAIT_KILL, KILLED, AU-

EN_JF,

Pgina 101 de 130

3.12.3. GetAuditFirstBlock - Obtener primer bloque de registro de cinta de auditora


Dado rango de nmeros de registros Z solicitado responde el nmero del primer cierre Z perteneciente a dicho rango existente en cinta de auditora y el primer bloque de informacin correspondiente al registro asociado a dicho cierre Z. C O M A N D O: N Byte 1 2 3 4 5-8 9 10-13 14 15-18 Descripcin STX SN (ASCII 162) FS Nmero de Z inicial del perodo FS Nmero de Z final del perodo ETX BCC Tipo

N N

Ejemplo: [STX][SN]11021200[ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15 Descripcin STX SN (ASCII 162) FS Status de la impresora FS Status Fiscal FS Identificador de tipo de bloque I: Bloque de informacin del registro 16 FS 17-20 Nmero de Z informada 21 FS 21-532 Informacin del registro -codificada en formato ascii85533 ETX 534-537 BCC Tipo

H H A N A

Ejemplo:[STX][SN] 00800600I0016<~!<NU!;c5>*1GgsI2Zs*[s8N'"!XVar7P4?g0eHE.s8W-!!!*--:JsSP:hcL:BUXss8N'"!Y.Rh5p/]a;aF;(;aEuB"98E$rr<'$&6!LZFE_/6AKYMp+@9LXAHVu4s8N'"!X^Y=/MJ q31@d+X"98E$rr<'$"Yh\l2)#.4s8W*!!<NT_1G(:9/MclN2Zs*[s8N'"!X1;:3\iJns8W!!&t,d!!a/C,mcL ::&k\5&.iIdH2ore!'ECH5(JGRJ=?O*7Nb8i,Qpe/+@RCQ84+X)+@I>@+94o!,R?4p+@RCQ!(om,9M\ J1"ADZ8!)??9"!CG`~>[ETX][BCC]

Pgina 102 de 130

Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 Nro. de Z de inicio <=0 o no vlido -> ERROR_1 Nro. de Z de fin <=0 o no vlido -> ERROR_2 Nro. de Z de inicio > nro. de Z de fin o la fecha del informe Z de inicio es anterior a la fecha actual -> ERROR_1 No hay nformes Z en el rango -> ERROR_0 *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, EN_JF, WAIT_KILL, KILLED, AU-

Pgina 103 de 130

3.12.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditora


Responde el siguiente bloque de informacin correspondiente al registro asociado al cierre Z solicitado en el anterior comando, o la firma asociada al registro (el bloque de la firma se enva al final, luego de haber enviado previamente hasta todos los bloques de informacin de todos los registros Z solicitados en el comando GetAuditNextBlock). C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN (ASCII 163) ETX BCC Tipo

Ejemplo: [STX][SN][ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15 Descripcin Tipo STX SN (ASCII 163) FS Status de la impresora FS Status Fiscal FS Identificador de tipo de bloque I: Bloque de informacin del registro F: Bloque de firma del registro 16 FS 17-20 Nmero de Z informada 21 FS 22-532 Informacin del registro -codificada en formato ascii85Firma del registro -no codificada en formato ascii85. 533 ETX 534-537 BCC

H H A

N A

El ejemplo es similar al del comando anterior Errores que puede presentar este comando: Estado no vlido* Se pide NextBlock antes de pedir FirstBlock *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> EN_JF, ERROR_0 ERROR_0 WAIT_KILL, KILLED, AU-

Pgina 104 de 130

3.12.5. GetAuditSeqNum - Obtener nmero de secuencia actual de cinta de auditora


Responde el nmero de secuencia actual de la cinta de auditora. Este nmero indica cuntas veces se ha borrado la memoria de auditora electrnica. Cuando el equipo no est inicializado este campo vale 0, incrementndose a 1 en la inicializacin. Internamente el equipo comprueba que haya congruencia entre el nmero de secuencia registrado en la memoria fiscal y el presente en la cinta de auditora electrnica. C O M A N D O: N Byte 1 2 3 4 5-8 Descripcin STX SN (ASCII 164) ETX BCC Tipo

Ejemplo: [STX][SN][ETX][BCC] R E S P U E S T A: N Byte 1 2 3 4 5-8 9 10-13 14 15-16 17 18-21 Descripcin STX SN (ASCII 164) FS Status de la impresora FS Status Fiscal FS Nmero de Secuencia ETX BCC Tipo

H H A

Ejemplo: [STX][SN]0080060016[ETX][BCC] Errores que puede presentar este comando: Estado no vlido* *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> ERROR_0 WAIT_KILL, KILLED, AU-

EN_JF,

Pgina 105 de 130

4. Documentos
4.1. Factura
DGI Lnea 1 Nombre o razn social Lnea 2 Nombre o razn social Lnea 3 Nombre o razn social Nmero de RUC Lnea 1 Direccin Lnea 2 Direccin Lnea 3 Direccin Lnea 4 Direccin Lnea 5 Direccin Lnea 1 Header (Encabezado) Lnea 2 Header (Encabezado) Lnea 3 Header (Encabezado) Lnea 4 Header (Encabezado) Lnea 5 Header (Encabezado) FACTURA Nmero Fecha Hora

Texto fiscal Texto fiscal Texto fiscal Texto fiscal Cant. / precio unit. (ITBMS) Descripcin [%BI] Descuento [%BI] Bonificacin Alcuota ITBMS ..[%ITBMS] TOTAL $ Base Monto base

Monto Monto Monto

Monto Monto Monto

Medio de pago Lnea 1 Pie (Trailer) Lnea 2 Pie (Trailer) Lnea 3 Pie (Trailer) Lnea 4 Pie (Trailer) Lnea 5 Pie (Trailer) Lnea 6 Pie (Trailer) Lnea 7 Pie (Trailer) Lnea 8 Pie (Trailer) Lnea 9 Pie (Trailer) Lnea 10 Pie (Trailer) Logotipo fiscal Registro

Versin

Pgina 106 de 130

Apndices Apndice 1: Tipo de letra.


En ciertos textos fiscales y no fiscales al comienzo de la lnea puede embeberse un comando que selecciona el tipo de letra en el que se imprimir la lnea. Todas las lneas comienzan automticamente en modo normal, por lo que slo es necesario incluir el cdigo correspondiente si se desea una lnea en doble ancho. Los formatos disponibles son Normal: Este es el valor por defecto. Doble ancho: f4H (ASCII 244) Estos formatos slo pueden aplicarse a los comandos: 41H - Imprimir texto fiscal 49H - Imprimir texto no-fiscal 5dH - Programar encabezamiento 5eH - Programar texto pie documentos 5fH - Programar nombre de fantasa

Pgina 107 de 130

Apndice 2: Status fiscal


Los 16 bits del status fiscal (4 nibbles), expresados en binario, tienen el siguiente significado (el bit 0 es el menos significativo): Bit 0 1 2 3 4 5 Descripcin 1 = Error de comprobacin de memoria fiscal. Junto con el bit 7 indica que la memoria fiscal est llena 1 = Error de comprobacin de memoria de trabajo 1 No utilizado

7 8

9 10 11 12 13 14 15

1 = Comando desconocido El comando recibido no fue reconocido. 1 = Datos no vlidos en un campo Uno de los campos del comando recibido tiene datos no vlidos (por ejemplo, datos no numricos en un campo numrico). 1 = Comando no vlido para el estado fiscal actual Se ha recibido un comando que no es vlido en el estado actual del controlador (por ejemplo, abrir un recibo no-fiscal cuando se encuentra abierto un recibo fiscal). Nota: cuando se ha producido un cambio no vlido de cdigo de ITBMS, tanto el bit 4 como el 5 tendrn valor 1. 1 = Desborde del Total El acumulador de una transaccin, del total diario o del ITBMS se desbordar a raz de un comando recibido. El comando no es ejecutado. Este bit debe ser monitoreado por el host para emitir un aviso de error. 1 = Memoria fiscal llena, bloqueada o dada de baja En caso de que la memoria fiscal est llena, bloqueada o dada de baja, no se permite abrir un comprobante fiscal. 1 = Memoria fiscal a punto de llenarse La memoria fiscal tiene 30 o menos registros libres. Este bit debe ser monitoreado por el host para emitir el correspondiente aviso. 1 No utilizado. 1 No utilizado.

1 = Es necesario hacer un cierre de la jornada fiscal Se han enviado el nmero mximo de tems en un comprobante fiscal y se debe cerrar 1 = Documento fiscal abierto Se encuentra en 1 siempre que un documento fiscal se encuentra abierto. 1 = Documento abierto Este bit se encuentra en 1 siempre que un DNF se encuentra abierto. 1 No utilizado 1 = OR lgico de los bits 0 a 8 y 11

Pgina 108 de 130

Este bit se encuentra en 1 siempre que alguno de los bits mencionados se encuentre en 1.

Pgina 109 de 130

Apndice 3: Status impresora


Los 16 bits del status de la impresora (4 nibbles), expresados en binario, tienen el siguiente significado (el bit 0 es el menos significativo): Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Descripcin 1 No utilizado 1 No utilizado 1 = Error y/o falla de impresora Se ha interrumpido la conexin entre el controlador fiscal y la impresora. 1 = Impresora offline (fuera de lnea) La impresora no ha logrado comunicarse dentro del perodo de tiempo establecido. 1 No utilizado 1 No utilizado 1 No utilizado 1 No utilizado 1 No utilizado 1 No utilizado 1 No utilizado 1 No utilizado 1 No utilizado 1 No utilizado 1 = Impresora sin papel para ser impreso 1 = OR lgico de los bits 0-6,14 Este bit se encuentra en 1 siempre que alguno de los bits del 0 al 6, o el 14, se encuentre en 1.

Pgina 110 de 130

Apndice 4: Status auxiliar


El status auxiliar indica el estado del parser del controlador fiscal. Segn el valor del nibble menos significativo, considerado en formato decimal, el controlador se encuentra en uno de los siguientes estados: Valor Decimal 0 1 2 3 4 5 6 7 8 9 10 11 Estado Controlador Fiscal No Inicializado. Inicio de Jornada Fiscal. En Jornada Fiscal. Un comprobante fiscal se encuentra abierto. Venta habilitada. Comprobante fiscal abierto. Se acaba de imprimir un texto fiscal. Esperando cierre de comprobante fiscal. Se realiz un cierre parcial. Un comprobante no fiscal se encuentra abierto. Cinta de auditora electrnica completa esperando ltima Z. Cinta de auditora electrnica completa. El controlador esta presto a ser dado de baja. El controlador ha sido dado de baja. Controlador Fiscal Bloqueado.

Adems, segn el valor del nibble ms significativo del status (el nibble ms significativo del byte ms significativo), considerado en formato hexadecimal, el controlador se encuentra en uno de los siguientes estados: Valor Decimal 4 Estado Cdigo de barras almacenado en memoria de trabajo

La combinacin de los estados de indica mediante la suma de los respectivos valores hexadecimales.

Pgina 111 de 130

Apndice 5: Status de documento


El status se divide en 4 bytes. Si se pide el status fuera de un documento, el valor 1 en el byte menos significativo indica que el documento anterior fue cancelado. El resto de los bytes se reportan en cero. Si se pide el status dentro de un documento, el byte menos significativo siempre se reporta en cero. Los valores de los dos bytes ms significativos indican el tipo de documento abierto, de acuerdo con la siguiente tabla: Valores bytes 01 02 03 04 Documento abierto

Factura Nota de Dbito Nota de Crdito Documento no fiscal

Pgina 112 de 130

Apndice 6: Manejo del ITBMS


6.1. Estructura de la tabla de ITBMS
El controlador fiscal cuenta con una tabla de ITBMS con capacidad para almacenar un mximo de 5 valores (alcuotas) de ITBMS: Exento, BI ITBMS1, BI ITBMS2, BI ITBMS3 y BI ITBMS4 (las 4 ltimas son opcionales y se programan ejecutando el comando 'SetIvaRates'). El funcionamiento es el siguiente: Los 3 valores opcionales se programan en el inicio de la jornada fiscal. Al recibir un comando PrintLineItem, y antes de que la venta quede registrada, el controlador verifica si la venta est asociada a una alcuota ITBMS registrada en la tabla o IVA 0.00 (exento). De ser as la venta es procesada y si no media ningn tipo de causa de rechazo (como podra ser algn desborde, etc.) la misma es aceptada. En caso contrario, es rechazada sin siquiera ser procesada. Al realizarse el de cierre de jornada fiscal mediante el comando DailyClose, los acumuladores de todas las posiciones de la tabla de IVA son puestas a cero.

6.2. Clculo del monto del ITBMS en los recargos o descuentos sobre el subtotal
Cuando se realiza un recargo o un descuento sobre el subtotal en un comprobante de venta el ITBMS correspondiente a dicha operacin se calcula de la siguiente manera: Mj = ITBMSi RD / SITEM donde: Mj = Monto a sumar o restar en el acumulador de IVA correspondiente a la posicin j de la tabla de ITBMS. ITBMSj = Monto del ITBMS correspondiente a la posicin j de la tabla, acumulado hasta el momento en la factura. RD = Monto del recargo o descuento realizado. SITEM = Monto total de lo vendido hasta el momento en la factura.

6.3. Impresin de las lneas correspondientes a descuentos (o recargos)


Nota: En todos los casos de descuentos o recargos, el controlador slo reconoce montos fijos. En caso de que se desee hacer un descuento o recargo porcentual, el clculo del monto fijo que debe enviarse al controlador queda por cuenta del programa de caja o facturacin. Las lneas correspondientes a descuentos se imprimen de acuerdo con lo siguiente: Descuento sobre ltimo tem vendido La alcuota del ITBMS que se imprime entre parntesis se corresponde con el del ltimo tem vendido. Descuento general Los campos correspondientes a base imponible y alcuota de ITBMS estn en blanco.

Pgina 113 de 130

Apndice 7: Terminologa
Base imponible (BI): es el valor de un determinado tem, sobre el que se calcula el impuesto asociado. Controlador fiscal: placa de circuito impreso con un microprocesador, memoria y otros dispositivos que restringen y controlan la informacin impresa en un comprobante fiscal. Comprobante fiscal (CF): documento emitido por la impresora fiscal para ser entregado al comprador como constancia de cualquier operacin generadora de ingresos relativa a la actividad en cuestin. Documento no fiscal (DNF): se utiliza para generar en la impresora fiscal reportes detallados de ventas, cupones de clientes frecuentes, etc. Los documentos no fiscales pueden contener mltiples lneas de texto fiscal. Host: equipo de punto de venta (POS) donde se encuentra la aplicacin que interacta con la impresora fiscal. Impresora: terminal de impresin para punto de venta, utilizado por e controlador fiscal para imprimir los documentos. Impresor(a) fiscal: equipo conformado por un controlador fiscal y una impresora, que se conecta como un perifrico de un punto de venta, y cuya nica entrada de datos es una interfaz normalizada RS232. Este equipo permite generar comprobantes de ventas que cumplen con la normativa vigente. Jornada fiscal: perodo transcurrido desde la ltima emisin de un informe Z. Memoria de trabajo: parte de la memoria del controlador fiscal no voltil, que permite mltiples accesos de lectura/escritura. En esta memoria se registran los totales diarios. Memoria fiscal: parte de la memoria del controlador fiscal no voltil, de acceso secuencial, donde se almacenan datos descriptivos de las transacciones fiscales. Precinto fiscal: un medio mecnico para conectar el gabinete fiscal a la impresora, de modo tal que se impida el acceso no autorizado a los componentes internos del controlador fiscal. Reporte (cierre) Z: documento emitido por la impresora fiscal donde se registran los datos relativos a las ventas realizadas durante la jornada fiscal. Cuando se realiza esta operacin, los totales diarios almacenados en la memoria de trabajo son escritos en la memoria fiscal. Reporte (cierre) X: documento donde se refleja el valor de las operaciones realizadas desde la emisin del ltimo reporte Z o del ltimo reporte X. Muestra parcialmente las ventas realizadas en una jornada fiscal y se utiliza normalmente para hacer un cambio de cajero en el punto de venta. Reporte (comprobante) de auditora: documento emitido por la impresora fiscal que muestra el contenido de la informacin almacenada en la memoria fiscal durante el perodo seleccionado. Status fiscal y Status impresora: campos de informacin alfanumrica que se incluyen en cada una de las respuestas de la impresora fiscal emite despus de recibir un comando. Reflejan el estado del controlador fiscal y de la impresora. Texto fiscal: est restringido a caracteres ASCII de 0x20 a 0x7F y a una cantidad limitada de valores sobre 0x7F necesarios para generar caracteres especiales (, , , , , etc). Se excluye el carcter 0x1B. Esta limitacin asegura que la aplicacin que utiliza la impresora fiscal no pueda generar datos de grficos. Para definir el tipo de letra se utilizan los caracteres 0xF0 a 0xFF, vlidos nicamente para ser aplicados en algunos campos de los documentos. Dentro de los campos definidos para la descripcin de mercadera y texto en general, la palabra TOTAL se convierte en T#TAL, con el fin de cumplir con la normativa vigente.

Pgina 114 de 130

Totales diarios: se refiere a los montos totales de los productos vendidos y los impuestos cobrados, el total de los comprobantes emitidos, etc, durante la jornada fiscal.

Pgina 115 de 130

Apndice 8: Caractersticas de la comunicacin Host-Controlador fiscal


Comunicacin half duplex sobre canal de comunicaciones serie asincrnico. Es decir, transmisin, recepcin y tiempos de expiracin por interrupciones. La caractersticas de la comunicacin son: Tipo: Modo: Datos: RS-232C Half duplex Palabra de 8 bits, sin paridad, 1 bit de stop

Las caractersticas del cableado del host son: Conector DB9H Pin 2 3 5 Conector DB25H Pin 2 3 7 Seal Transmit Data Receive Data Signal Ground Seal Transmit Data Receive Data Signal Ground I/O I O

I/O O I

La salida del controlador fiscal tiene el siguiente cableado: Conector DB9M Pin 2 3 5 Conector DB25M Pin 2 3 7 Seal Printer Receive Data Printer Transmit Data Signal Ground Seal Printer Transmit Data Printer Receive Data Signal Ground

Los datos intercambiados entre host y controlador fiscal son ASCII y el controlador fiscal responde slo al protocolo Xon/Xoff. Como cada comando enviado por el host debe recibir una respuesta del controlador fiscal, ste nunca enviar control de paso Xoff al host.

Pgina 116 de 130

Apndice 9: Tratamiento de montos, cantidades y porcentajes.


Las variables que representen montos, cantidades o porcentajes pueden tratarse de dos formas: 1) Modo Hasar 2) Modo Epson compatible 1) Modo Hasar: en este modo de trabajo se opera con nmeros decimales, las variables que corresponden a montos operan con cuatro dgitos decimales (no obligatorios) y nueve enteros; las variables correspondientes a cantidades con diez decimales (no obligatorios) y seis enteros, y las correspondientes a porcentajes con seis decimales (no obligatorios) y dos enteros. Por otro lado, las tasas de ITBMS poseen dos dgitos decimales (no obligatorios) y dos enteros. Es decir: Montos: nnnnnnnnn,nnnn Cantidades: nnnnnn,nnnnnnnnnn Porcentajes: nn,nnnnnn Tasas ITBMS: nn,nn 2) Modo Epson compatible: en este modo de trabajo todas las variables son nmeros enteros. Las variables que corresponden a montos contienen nueve enteros y dos decimales, pero al tener que trabajar con nmeros enteros, se encuentran multiplicadas por 100, es decir, con los dos decimales que le corresponden en el lugar de los dos dgitos enteros menos significativos; las variables correspondientes a cantidades contienen seis enteros y tres decimales, entonces se encuentran multiplicadas por 1000, y las correspondientes a porcentajes contienen dos enteros y seis decimales, es decir, se multiplican por 1.000.000. Las tasas de ITBMS contienen dos enteros y dos decimales, entonces, se multiplican por 100. Es decir: Montos: nnnnnnnnnnn y representa Cantidades: nnnnnnnnn y representa Porcentajes: nnnnnnnn y representa Tasas ITBMS: nnnn y representa nnnnnnnnn,nn nnnnnn,nnn nn,nnnnnn nn,nn

Es importante decir, aunque sea evidente, que en este modo es obligatorio colocar los dgitos que representan los decimales, ya que si, por ejemplo quisiera escribir la cantidad 2 y escribiera 2, en realidad se interpretara como 0.002. Por ende, debera haber escrito 2000. Si se trabaja en Modo Hasar, todos los enteros que se reciban sern tomados como tal sin decimal. Es decir, si envo 12345 interpretar 12345,00 (la cantidad de decimales depende del tipo de dato, en este caso un monto), y de hecho si se trata de una respuesta enviar 12345,00. En cambio, en modo Epson compatible, al enviar 12345, interpretar 123,45 (si se trata de un parmetro que admite dos decimales); si se quisiera escribir el entero 12345, debera enviarse 1234500. Lo mismo vale para las respuestas; si se est trabajando en este
Pgina 117 de 130

modo el entero, por ejemplo 452, ser enviado como 45200 (para el caso de dos decimales) El modo que se utiliza por default en estas impresoras es el segundo: modo Epson compatible. Para elegir entre un modo u otro se debe configurar el valor del calificador de formato de monto al que hace referencia el comando SetConfigCFData, y que, a su vez, forma parte de la respuesta del comando GetConfigCFData.

Pgina 118 de 130

Apndice 10: Descripcin de errores en los comandos


Si bien cada comando contiene la descripcin de sus posibles errores, en esta seccin se halla el listado completo de los mismos, para cada uno de los comandos.
DESCRIPCIN DE LOS MNEMNICOS UTILIZADOS EN LA DESCRIPCIN DE ERRORES EN LOS COMANDOS.

ERROR_0: Error nmero 0 ERROR_1: Error nmero 1 ERROR_2: Error nmero 2 NO_INI: Estado CF No Inicializado INI_JF: Estado Inicio Jornada Fiscal EN_JF: Estado En Jornada Fiscal SELL_DF: Vendiendo items en DF PRINT_TEXT_DF: Imprimiendo texto en DF WAIT_CLOSE_DF: Esperando cierre en DF PRINT_TEXT_DNF: Imprimiendo texto en DNF WAIT_KILL: CF para dar de Baja. KILLED: CF dado de Baja BLOCKED: CF bloqueado EST_DOC: Estado dentro del documento: hace referencia a cualquiera de los estados referentes a documentos fiscales y no fiscales SELL_DF, PRINT_TEXT_DF, WAIT_CLOSE_DF, PRINT_TEXT_DNF. AUDIT_NEXT_TO_FULL: Cinta de auditoria electrnica casi llena: solo queda espacio para hacer un reporte global diario AUDIT_FULL: Cinta de auditora electrnica llena. 3.1. Comandos de inicializacin, baja y configuracin 3.1.1. InitEpromFiscal Inicializacin Estado no vlido* -> ERROR_0 Si hay error sintctico en algunos de los parmetros del 1 al 6 -> ERROR_1 a ERROR_6 Clave de validacin no vlida -> ERROR_7 Ninguna de las 3 lneas de razn social es programada** -> ERROR_1 *estados no vlidos: todos menos NO_INI **debe haber una como mnimo 3.1.2. KillEpromFiscal - Baja de la memoria fiscal Estado no vlido* -> ERROR_0 CF ya ha sido dado de baja -> ERROR_0 Clave de validacin no vlida -> ERROR_2 Nro. de registro no vlido o no coincide con el nro. de registro del CF -> ERROR_1 *estados no vlidos: todos menos INI_JF, WAIT_KILL y AUDIT_FULL
Pgina 119 de 130

3.1.3. SetConfigCFData - Configuracin controlador por parmetros Estado no vlido* -> Identificador de variable de configuracin no vlido -> Valor a programar no vlido** -> Error al grabar las variables en HDD*** -> *estados no vlidos: todos menos INI_JF, EN_JF, DIT_NEXT_TO_FULL y AUDIT_FULL **cada variable de configuracin tiene sus valores vlidos ***Se activa el bit 5 del Status Fiscal 3.1.4. StoreLogoData- Carga logotipo Estado no vlido* -> ERROR_0 Parmetro no corresponde con opcin vlida (I, F, C) -> ERROR_1 Si los parmetros de carga estn fuera de secuencia (I,F,C - en ese orden) -> ERROR_1 Si al hacer el ciere, no hay datos de imagen (imagen vaca) -> ERROR_1 Imagen del logo no cumple con las especificaciones -> ERROR_1 Si la fraccin de imagen no es vlida -> ERROR_2 *estados no vlidos: todos menos INI_JF 3.1.5. ResetLogoData- Reset Logotipo Estado no vlido* *estados no vlidos: todos menos INI_JF 3.2. Comandos de diagnstico y consulta 3.2.1. StatusExtra - Consulta extra de estado Nunca da error 3.2.2. GetConfigCFData - Consulta de configuracin Estado no vlido* -> ERROR_0 -> ERROR_0 ERROR_0 ERROR_1 ERROR_2 ERROR_92 WAIT_KILL, KILLED, AU-

*estados no vlidos: NO_INI, BLOCKED 3.2.3. GetSerial - Consulta parcial de datos de inicializacin Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI, BLOCKED 3.2.4. GetPrinterVersion - Consulta de versin de controlador fiscal

Pgina 120 de 130

Nunca da error 3.2.5. Status_IF - Consulta de estado Error sintctico en parmetro 1 -> ERROR_1

3.2.6. GetInitData - Consulta de datos de inicializacin Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI, BLOCKED 3.3. Comandos de control fiscal 3.3.1 DailyClose - Cierre de jornada fiscal Estado no vlido* Identificador de reporte no es X o Z Error sintctico en parmetro 2 -> -> -> ERROR_0 ERROR_1 ERROR_2

*estados no vlidos: todos menos INI_JF, EN_JF y AUDIT_NEXT_TO_FULL 3.3.2. Reporte de memoria fiscal - Consulta por fechas Estado no vlido* Fecha de inicio no vlida Fecha de fin no vlida Fecha de inicio posterior a fecha de fin Calificador de tipo de reporte no vlido No hay datos del perodo solicitado *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_3 ERROR_1 WAIT_KILL, KILLED, AU-

EN_JF,

3.3.3. Reporte de Memoria fiscal - Consulta por nmero de Z Estado no vlido* Nro. de Z de inicio <=0 Nro. de Z de fin <=0 Nro. de Z de inicio > nro. de Z de fin No hay datos del perodo solicitado Error sintctico en parmetro 1 Error sintctico en parmetro 2 Error sintctico en parmetro 3 *estados no validos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL -> -> -> -> -> -> -> -> INI_JF, ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_1 ERROR_1 ERROR_2 ERROR_3 EN_JF, WAIT_KILL, KILLED, AU-

3.3.4. GetDailyReport - Reporte de registro diario

Pgina 121 de 130

Estado no vlido* Si el tipo de reporte no es vlido (F/Z) Error sintctico en parmetro 1 Error sintctico en parmetro 2 *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF,

-> -> -> -> EN_JF

ERROR_0 ERROR_2 ERROR_1 ERROR_2 , WAIT_KILL , KILLED, AU-

3.3.5. GetWorkingMemory - Consulta de memoria RAM Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI y BLOCKED

3.4. Comandos de comprobante fiscal 3.4.1. OpenFiscalReceipt - Abrir comprobante fiscal Estado no vlido* -> Error sintctico en algunos de los parmetros 1 a 7 -> *estados no vlidos: todos menos INI_JF y EN_JF 3.4.2. PrintFiscalText - Imprimir texto fiscal Estado no vlido* -> Se super la mxima cantidad de lneas de texto fiscal (4) -> Error sintctico en parmetro 1 -> ERROR_0 ERROR_0 ERROR_1 ERROR_0 ERROR_1 a ERROR_7

*estados no vlidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF 3.4.3. PrintLineItem - Imprimir tem Estado no vlido* Error sintctico en alguno de los parmetros 1 a 5 Tasa no coincide con las programadas Error en lmites (> mximo del documento o < 0) -> -> -> -> ERROR_0 ERROR_1 a ERROR_5 ERROR_4 ERROR_0**

*estados no vlidos: todos menos SELL_DF y PRINT_TEXT_DF **modifica status fiscal: comando no vlido (bit 5) y desborde total (bit 6) 3.4.4. Subtotal Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF 3.4.5. TotalTender Total

Pgina 122 de 130

Estado no vlido* -> ERROR_0 Descripcin no vlida -> ERROR_1 Calificador = pago o bonificacin y el monto no es vlido -> ERROR_2 Calificador = descuento y el porcentaje no es vlido (<0 o >100) -> ERROR_2 Calificador = descuento y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificacin y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificacin y tasa ITBMS no coincide con alguna existente -> ERROR_4 Calificador no vlido -> ERROR_3 Calificador = descuento o bonificacin y hay error en lmites (> Mximo del documento o < 0) -> ERROR_0** Error sintctico en parmetro 2 -> ERROR_2 Error sintctico en parmetro 4 -> ERROR_4 *estados no vlidos: tofdos menos SELL_DF, PRINT_TEXT_DF, WAIT_CLOSE_DF **modifica status fiscal: comando no vlido (bit 5) y desborde total (bit 6) 3.4.6. CloseFiscalReceipt - Cerrar comprobante fiscal Estado no vlido* -> Subtotal es cero** -> Error sintctico en parmetro 1 -> ERROR_0 ERROR_0 ERROR_1

*estados no vlido: todos menos SELL_DF y WAIT_CLOSE_DF **cancela el documento 3.5. Comandos de comprobante no-fiscal 3.5.1. OpenNonFiscalDocument - Abrir comprobante no-fiscal Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos INI_JF y EN_JF 3.5.2. PrintNonFiscalText - Imprimir texto no-fiscal Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos PRINT_TEXT_DNF 3.5.3. CloseNonFiscalReceipt - Cerrar comprobante no-fiscal Estado no vlido* Error sintctico en parmetro 1 -> -> ERROR_0 ERROR_1

*estados no vlidos: todos menos PRINT_TEXT_DNF 3.6. Comandos de alcuotas ITBMS. 3.6.1. SetIVARates - Programacin Alcuotas ITBMS

Pgina 123 de 130

Estado no vlido* Categora fiscal distinta de ordinario No verifica clave de validacin Error de grabacin / almacenamiento*** Si no se especifica ITBMS Default y se Especifica alguna de las otras dos. Tasa ITBMS1 invlida** Tasa ITBMS2 invlida** Tasa ITBMS3 invlida** Tasa ITBMS4 invlida**

-> -> -> -> -> -> -> -> ->

ERROR_0 ERROR_0 ERROR_4 ERROR_92 ERROR_1 ERROR_1 ERROR_2 ERROR_3 ERROR_4

*estados no vlidos: todos menos INI_JF **tasa invlida: < 0 , >100 , no numrica o fuera del formato nn.nn (modo Hasar) o nnnn (modo Epson). ***Se activa el bit 5 del Status Fiscal 3.6.2. GetIVARates - Consulta Alcuotas ITBMS Programadas Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI y BLOCKED 3.7. Comando comunes a varios tipos de documentos 3.7.1. Cancel Cancelacin Estado no vlido* -> ERROR_0

*estados no vlidos: todos menos EST_DOC (los 4 estados a los que hace referencia) 3.8. Comandos de control de la impresora 3.8.1 FeedReceipt - Avanzar papel de facturas Si n de lnea es invlido* -> * n vlidos: 0 a 99 3.8.2 CutPaper - Cortar papel de factura Nunca da error* *nunca da error, pero dentro de un documento el comando es ignorado. 3.9. Comandos de fecha, hora, encabezamiento y cola de documentos 3.9.1. SetDateTime - Ingresar fecha y hora Fecha no vlida Hora no vlida Fecha y hora nuevas son anteriores a la actual Ya se cambi fecha/hora (1 cambio por jornada) -> -> -> -> ERROR_1 ERROR_2 ERROR_0 ERROR_0
Pgina 124 de 130

ERROR_1

Estado no vlido* * estados no vlidos: todos menos INI_JF 3.9.2. GetDateTime - Consultar fecha y hora Estado no vlido* -> ERROR_0

->

ERROR_0

*estado no vlido: BLOCKED 3.9.3. SetHeader - Programar texto de encabezamiento facturas y documentos no fiscales Estado no vlido -> Si n de lnea es invlido** -> Si el texto es invlido -> Si existe error de grabacin /almacenamiento*** -> *estados no vlidos: NO INI , BLOCKED y EST_DOC ** n vlidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal 3.9.4. SetTrailer - Programar texto de cola de facturas y documentos no fiscales Estado no vlido* Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento*** *estados no vlidos: NO INI , BLOCKED y EST_DOC ** n vlidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal 3.9.5. GetHeader - Consultar texto de encabezamiento de facturas Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED ** n vlidos: 0 a 10 3.9.6. GetTrailer - Consultar texto de cola de facturas Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED * n vlidos: 0 a 10 3.9.7. SetCustExtraData - Programacin de Datos adicionales del Comprador Estado no vlido* -> ERROR_0
Pgina 125 de 130

ERROR_0 ERROR_1 ERROR_2 ERROR_92

-> -> -> ->

ERROR_0 ERROR_1 ERROR_2 ERROR_92

-> ->

ERROR_0 ERROR_1

-> ->

ERROR_0 ERROR_1

Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento***

-> -> ->

ERROR_1 ERROR_2 ERROR_92

*estados no vlidos: NO INI , BLOCKED, EST_DOC, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** n vlidos: 0 a 5 ***Se activa el bit 5 del Status Fiscal 3.9.8. GetCustExtraData - Consulta de Datos adicionales del Comprador Estado no vlido* Si n de lnea es invlido** -> -> ERROR_0 ERROR_1

*estados no vlidos: NO INI, BLOCKED, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** n vlidos: 0 a 5 3.10. Comandos de gaveta de dinero 3.10.1 OpenDrawer1 - Abrir gaveta 1 Nunca da error. 3.10.2 OpenDrawer2 - Abrir gaveta 2 Nunca da error. 3.12. Comandos de domicilio fiscal 3.12.1. SetFiscalAddress - Programacin de Lneas de Domicilio Fiscal Estado no vlido Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento*** *estados no vlidos: NO INI , BLOCKED y EST_DOC **n vlidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal 3.12.2. GetFiscalAddress - Consulta de Lneas de Domicilio Fiscal Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED * n vlidos: 0 a 10 3.13. Comandos de la memoria de auditora 3.13.1. GetPublicKey - Leer clave pblica -> -> ERROR_0 ERROR_1 -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_92

Pgina 126 de 130

Estado no vlido*

->

ERROR_0 INI_JF, EN_JF, WAIT_KILL, KILLED, AU-

*estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL

3.13.2. GetAuditRangeZNum - Obtener rango de cierres Z por nmeros Estado no vlido* Fecha de inicio no vlida Fecha de fin no vlida Fecha de inicio posterior a fecha de fin No hay informes Z en el rango *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_0 WAIT_KILL, KILLED, AU-

EN_JF,

3.13.3. GetAuditFirstBlock - Obtener primer bloque de registro de cinta de auditora Estado no vlido* -> ERROR_0 Nro. de Z de inicio <=0 o no vlido -> ERROR_1 Nro. de Z de fin <=0 o no vlido -> ERROR_2 Nro. de Z de inicio > nro. de Z de fin o la fecha del informe Z de inicio es anterior a la fecha actual -> ERROR_1 No hay nformes Z en el rango -> ERROR_0 *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, EN_JF, WAIT_KILL, KILLED, AU-

3.13.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditora Estado no vlido* Se pide NextBlock antes de pedir FirstBlock *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> EN_JF, ERROR_0 ERROR_0 WAIT_KILL, KILLED, AU-

3.13.5. GetAuditSeqNum - Obtener nmero de secuencia actual de cinta de auditora

Estado no vlido* *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF,

-> EN_JF,

ERROR_0 WAIT_KILL, KILLED, AU-

Pgina 127 de 130

Apndice 11: Mapa de errores


Valor Decimal 0 1 2 3 4 5 n 31 92 Estado Error general en ejecucin de comando o comando no vlido para es tado fiscal. Error campo 1 Error campo 2 Error campo 3 Error campo 4 Error campo 5 Error campo n (n<20) Error al verificar comando Error en los valores de la RAM

Pgina 128 de 130

Apndice 12: Tratamiento de las lneas de Nombre o Razn Social en OpenFiscalReceipt


Al estar este campo compuesto por 3 lneas de 42 caracteres cada una, el criterio que sigue el software para la asignacin de caracteres a cada lnea es el siguiente: Al encontrar un espacio luego del cual existe una cadena continua superior al nmero de caracteres que le restan a la lnea actual, se le asignan los caracteres a partir del espacio a la lnea siguiente. Por Ejemplo: Si la cadena fuera: La Annima del Noroeste, Sociedad de Comercio Coma la r de Comercio es el carcter nmero 42, y por ende no puede escribir la palabra completa en la primera lnea, asignara los caracteres de este modo: La annima del Noroeste, Sociedad de Comercio En el caso de que la cantidad de caracteres de la cadena sea superior a la mxima, o bien que por efectuar el mecanismo de salto de lnea recin descrito los ltimos caracteres queden fuera del espacio disponible (tener en cuenta que al saltar de lnea, los caracteres que restan para completar los 42 de esa lnea se pierden como disponibles), se truncar la cadena como muestra el siguiente ejemplo: Si la cadena fuera: La Annima del Noroeste, Sociedad de Comercio y Desarrollo de la Produccin y el Empleo en el rubro alimenticio de la ciudad de Valle Bermejo Quedara asignada de la siguiente forma: La Annima del Noroeste, Sociedad de Comercio y Desarrollo de la Produccin y el Empleo en el rubro alimenticio de la ci Vase que la e de el Empleo es el carcter nmero 42 de la segunda lnea, y por eso toda la palabra el qued en la lnea siguiente. Adems, por ser la cadena mayor al espacio mximo asignado, esta qued truncada al final.

Pgina 129 de 130

Mayo 13, 2011 Rev. 001


COPYRIGHT 2008/2011 - CA. HASAR SAIC
_ El presente documento se halla sujeto a cambios sin previo aviso. _ Ca. HASAR SAIC no asume responsabilidad alguna por errores u omisiones contenidas en este documento, ni asume responsabilidad alguna por los datos y/o perjuicios que el uso de esta informacin pudiera causar. _ Este documento no puede ser reproducido, total o parcialmente, ni almacenado para su posterior reproduccin por cualquier mtodo o medio, sin autorizacin escrita de Ca. HASAR SAIC.

Pgina 130 de 130

S-ar putea să vă placă și