Seri Tick

130
M M a a n n u u a a l l d d e e c c o o m m a a n n d d o o s s f f i i s s c c a a l l e e s s I I m m p p r r e e s s o o r r a a f f i i s s c c a a l l H H a a s s a a r r S S M M H H / / P P T T - - 2 2 5 5 0 0 F F P P A A Comunicación a través del puerto serie

Transcript of Seri Tick

Page 1: Seri Tick

MMaannuuaall ddee ccoommaannddooss ffiissccaalleess IImmpprreessoorraa ffiissccaall HHaassaarr

SSMMHH//PPTT--225500FFPPAA Comunicación a través del puerto serie

Page 2: Seri Tick

Página 2 de 130

CCoonntteenniiddoo CONTENIDO ----------------------------------------------------------------------------------------------------------------------------- 2

1. DESCRIPCIÓN 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 ALIMENTACIÓN ELÉCTRICA -------------------------------------------------------------------------------------- 9 1.6. ESTADOS DE LA IMPRESORA ------------------------------------------------------------------------------------------------------ 9

2. COMANDOS FISCALES --------------------------------------------------------------------------------------------------------- 11 2.1. ESTRUCTURA DE LOS COMANDOS---------------------------------------------------------------------------------------------- 11 2.2. CAMPOS DE LOS COMANDOS---------------------------------------------------------------------------------------------------- 12

2.2.1. Tipos de datos y abreviaturas ------------------------------------------------------------------------------------------- 12 2.2.2. Longitud de los campos -------------------------------------------------------------------------------------------------- 12 2.2.3. Campos vacíos------------------------------------------------------------------------------------------------------------- 12 2.2.4. Campos de montos -------------------------------------------------------------------------------------------------------- 13 2.2.5. Cantidades ----------------------------------------------------------------------------------------------------------------- 13 2.2.6. Campos con texto --------------------------------------------------------------------------------------------------------- 14 2.2.7 Descripción de errores de los comandos ------------------------------------------------------------------------------- 14

2.3. CLASIFICACIÓN DE LOS COMANDOS ------------------------------------------------------------------------------------------- 14 3. DESCRIPCIÓN DE LOS COMANDOS---------------------------------------------------------------------------------------- 17

3.1. COMANDOS DE INICIALIZACIÓN, BAJA Y CONFIGURACIÓN ------------------------------------------------------------------ 17 3.1.1. InitEpromFiscal - Inicialización ---------------------------------------------------------------------------------------- 17 3.1.2. KillEpromFiscal - Baja de la memoria fiscal-------------------------------------------------------------------------- 21 3.1.3. SetConfigCFData - Config. del controlador por parámetros ------------------------------------------------------- 23 3.1.4. StoreLogoData - Carga logotipo---------------------------------------------------------------------------------------- 26 3.1.5. ResetLogoData - Reset logotipo----------------------------------------------------------------------------------------- 28 3.1.6. SetFantasy - Programación Texto Nombre Comercial--------------------------------------------------------------- 29

3.2. COMANDOS DE DIAGNÓSTICO Y CONSULTA----------------------------------------------------------------------------------- 30 3.2.1. StatusExtra - Consulta extra de estado--------------------------------------------------------------------------------- 30 3.2.2. GetConfigCFData - Consulta de configuración ---------------------------------------------------------------------- 32 3.2.3. GetSerial - Consulta parcial de datos de inicialización-------------------------------------------------------------- 34 3.2.4. GetPrinterVersion - Consulta de versión de controlador fiscal----------------------------------------------------- 35 3.2.5. GetInitData - Consulta de datos de inicialización -------------------------------------------------------------------- 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 Número 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/Cancelación/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 ALÍCUOTAS ITBMS -------------------------------------------------------------------------------------------- 73 3.6.1. SetIVARates - Programación de Alícuotas ITBMS ------------------------------------------------------------------- 73 3.6.2. GetIVARates - Consulta de Alícuotas ITBMS programadas--------------------------------------------------------- 75

3.7. COMANDOS COMUNES A VARIOS TIPOS DE DOCUMENTOS------------------------------------------------------------------- 76 3.7.1. Cancel – Cancelación general de Documentos ----------------------------------------------------------------------- 76 3.7.2. SetBarCode - Código de barras ----------------------------------------------------------------------------------------- 77

Page 3: Seri Tick

Página 3 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 - Programación Texto Encabezado Documentos -------------------------------------------------------- 84 3.9.4. SetTrailer - Programación 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 - Programación 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 - Programación de líneas de Domicilio Fiscal ------------------------------------------------- 95 3.11.2. GetFiscalAddress - Consulta de líneas 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 AUDITORÍA. -------------------------------------------------------------------------------- 99 3.12.1. GetPublicKey - Leer clave pública ------------------------------------------------------------------------------------ 99 3.12.2. GetAuditRangeZNum - Obtener rango de cierres Z por números------------------------------------------------ 100 3.12.3. GetAuditFirstBlock - Obtener primer bloque de registro de cinta de auditoría-------------------------------- 102 3.12.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditoría ----------------------------- 104 3.12.5. GetAuditSeqNum - Obtener número de secuencia actual de cinta de auditoría-------------------------------- 105

4. DOCUMENTOS --------------------------------------------------------------------------------------------------------------------- 106 4.1. Factura ---------------------------------------------------------------------------------------------------------------------- 106

APÉNDICES --------------------------------------------------------------------------------------------------------------------------- 107

APÉNDICE 1: TIPO DE LETRA. ------------------------------------------------------------------------------------------------- 107

APÉNDICE 2: STATUS FISCAL-------------------------------------------------------------------------------------------------- 108

APÉNDICE 3: STATUS IMPRESORA ------------------------------------------------------------------------------------------ 110

APÉNDICE 4: STATUS AUXILIAR---------------------------------------------------------------------------------------------- 111

APÉNDICE 5: STATUS DE DOCUMENTO------------------------------------------------------------------------------------ 112

APÉNDICE 6: MANEJO DEL ITBMS------------------------------------------------------------------------------------------- 113 6.1. ESTRUCTURA DE LA TABLA DE ITBMS -------------------------------------------------------------------------------------- 113 6.2. CÁLCULO DEL MONTO DEL ITBMS EN LOS RECARGOS O DESCUENTOS SOBRE EL SUBTOTAL ------------------------- 113 6.3. IMPRESIÓN DE LAS LÍNEAS CORRESPONDIENTES A DESCUENTOS (O RECARGOS) ---------------------------------------- 113

APÉNDICE 7: TERMINOLOGÍA ------------------------------------------------------------------------------------------------ 114

APÉNDICE 8: CARACTERÍSTICAS DE LA COMUNICACIÓN HOST-CONTROLADOR FISCAL ----------- 116

APÉNDICE 9: TRATAMIENTO DE MONTOS, CANTIDADES Y PORCENTAJES. -------------------------------- 117

APÉNDICE 10: DESCRIPCIÓN DE ERRORES EN LOS COMANDOS------------------------------------------------- 119

APÉNDICE 11: MAPA DE ERRORES ------------------------------------------------------------------------------------------ 128

APÉNDICE 12: TRATAMIENTO DE LAS LÍNEAS DE NOMBRE O RAZÓN SOCIAL EN OPENFISCALRECEIPT ------------------------------------------------------------------------------------------------------------ 129

Page 4: Seri Tick

Página 4 de 130

11.. DDeessccrriippcciióónn ggeenneerraall Estaciones de impresión Las impresoras fiscales SMH/PT-250FPA poseen una estación de impresión por método térmico 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 mecánicas que requieren servicio de mantenimiento (cabezal de impresión, tro-quelador, etc) y renovación de insumos (papel.etc) son directamente accesibles desde el exterior abriendo las tapas ad-hoc en la carcasa plástica.

- La sección que contiene la electrónica fiscal se encuentra cerrada con precinto, y para ac-ceder a ella es necesario romper el mismo. La sección de electrónica fiscal contiene el cir-cuito controlador fiscal y la memoria EPROM fiscal donde se almacenan los registros diarios. La sección de electrónica no-fiscal contiene el circuito controlador del aparato impresor.

Comunicaciones Sólo el circuito controlador fiscal puede recibir comunicaciones (comandos) del exterior. El cir-cuito controlador de impresora se encuentra comunicado con el controlador fiscal a través de una línea serie, de manera que cualquier comunicación dirigida a la impresora debe procesarse en el circuito controlador fiscal antes de ser ejecutada. La comunicación responde a un esque-ma Master-Slave puro; es decir, ningún dispositivo puede tomar control del vínculo por iniciativa propia. El circuito controlador fiscal posee un puerto de comunicación serie (indicado con la leyenda HOST): • A este puerto se conecta el host en el que reside el programa de caja, así como también un aparato recolector de datos.

Modo de funcionamiento

La impresora está preparada para trabajar en modo fiscal. Luego de la inicialización, todas las operaciones que se realicen quedarán almacenadas en la memoria fiscal. Sin efectuar la inicialización, la impresora no estará habilitada para realizar operación alguna.

Page 5: Seri Tick

Página 5 de 130

1.1. Comunicaciones con el host El protocolo de comunicación entre el host en el que reside el programa de caja y el controla-dor fiscal es un vínculo asincrónico, half duplex, según norma RS-232C. La relación entre host y controlador es del tipo Master-Slave. Los comandos y respuestas intercambiados se encuentran empaquetados, tal como se describe en las próximas páginas. El esquema de comunicación es el siguiente.

Host (master)

Controlador fiscal (slave)

Paquete A Respuesta 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 períodos de tiempo extendido para completarse. En estos casos el controlador fiscal envía cada 800 ms el código DC2 (12H) para indicar que el coman-do se encuentra aún activo. Si pasado este tiempo el controlador no ha enviado respuesta al-guna, significa que el paquete se ha recibido de forma erronea. En este caso deberá ser re-enviado por el host.

- Si falta papel en la estación de impresión, el controlador fiscal envía el código DC4 (14H). En caso de recibir uno de estos códigos, el host debe continuar esperando la respuesta.

- Una vez ejecutado el comando, el controlador fiscal envía 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 próximo pa-quete.

Page 6: Seri Tick

Página 6 de 130

1.2. Memoria fiscal El controlador fiscal cuenta con una memoria EPROM que se encuentra inmersa en un habitáculo 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 si-guientes estados:

• Sin inicializar Todas las memorias fiscales salen de fábrica 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 según 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 moti-vo), el controlador fiscal se bloquea y sólo puede salirse de esta condición accediendo fí-sicamente al circuito fiscal y realizando un MAC. Este procedimiento sólo puede ser rea-lizado por Compañía Hasar o algunos de sus servicios técnicos 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 inicializa-ción. Estos datos se graban mediante el comando InitEpromFiscal y son:

- La razón social del propietario - El número 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 contro-lador fiscal quedó bloqueado. Estos datos se almacenan en forma de registros diarios. La me-moria 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 re-gistro diario son:

- Número de Z - Fecha

Page 7: Seri Tick

Página 7 de 130

- Fecha Ultima Factura - Hora Ultima Factura - Número Ultima Factura - Número Ultima Nota de Débito - Cantidad de Notas de Débito - Número Ultima Nota de Crédito - Cantidad de Notas de Crédito - Número Ultimo Documentos No Fiscales - Cantidad de Documentos No Fiscales - Número Ultimo Reporte de Auditoría - Monto exento Facturas y Notas de Débito - Monto exento Notas de Crédito - Alícuota ITBMS1 - Neto sin ITBMS1 Facturas y Notas de Débito - Impuesto Venta ITBMS1 Fact. y Notas de Débito - Impuesto Desc/Bonif ITBMS1 Fact. y Notas de Débito - Neto sin ITBMS1 Notas de Crédito - Impuesto Venta ITBMS1 Notas de Crédito - Impuesto Desc/Bonif ITBMS1 Notas de Crédito - Alícuota ITBMS2 - Neto sin ITBMS2 Facturas y Notas de Débito - Impuesto Venta ITBMS2 Fact. y Notas de Débito - Impuesto Desc/Bonif ITBMS2 Fact. y Notas de Débito - Neto sin ITBMS2 Notas de Crédito - Impuesto Venta ITBMS2 Notas de Crédito - Impuesto Desc/Bonif ITBMS2 Notas de Crédito - Alícuota ITBMS3 - Neto s/ IVA ITBMS3 Facturas y Notas de Débito - Impuesto Venta ITBMS3 Fact. y Notas de Débito - Impuesto Desc/Bonif ITBMS3 Fact. y Notas de Débito - Neto sin ITBMS3 Notas de Crédito - Impuesto Venta ITBMS3 Notas de Crédito - Impuesto Desc/Bonif ITBM3 Notas de Crédito - Alícuota ITBMS4 - Neto s/ IVA ITBMS4 Facturas y Notas de Débito - Impuesto Venta ITBMS4 Fact. y Notas de Débito - Impuesto Desc/Bonif ITBMS4 Fact. y Notas de Débito - Neto sin ITBMS4 Notas de Crédito - Impuesto Venta ITBMS4 Notas de Crédito - Impuesto Desc/Bonif ITBM4 Notas de Crédito - Monto total Desc/Bonif en Fact. y Notas de Débito - Monto total Desc/Bonif en Notas de Crédito - Monto Total de Ventas en Fact. y Notas de Débito - Monto Total de Ventas en Notas de Crédito

• 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 KillEpromFis-cal. 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.

Page 8: Seri Tick

Página 8 de 130

1.3. Acumuladores Durante la operación, el controlador fiscal mantiene en memoria RAM una serie de acumulado-res 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 batería que le permite guardar los datos durante un período de 60 días. Cada vez que se energiza la impresora el controlador fiscal comprueba la consisten-cia de los datos de la memoria RAM. Si estos no son consistentes, el controlador fiscal se blo-quea y sólo puede salirse de esta condición accediendo físicamente al circuito fiscal y realizan-do un MAC (es decir, es necesario romper el precinto fiscal). Este procedimiento sólo puede ser realizado por Compañía Hasar o algunos de sus servicios técnicos 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, automá-ticamente se imprimen dos líneas con las leyendas “Cont. fiscal bloqueado” y “Error en firma de RAM”. La impresora debe ser desbloqueada antes de poder operársela. Para ello debe acce-derse físicamente al circuito del controlador fiscal, es decir, se debe romper el precinto fiscal, y realizar un MAC. Este procedimiento sólo puede ser realizado por Compañía Hasar o algunos de sus servicios técnicos autorizados.

El proceso de recuperación de un bloqueo produce: - La pérdida de datos existentes en la memoria RAM de trabajo. - El incremento en 1 del contador del registro de bloqueos existente en la memoria EPROM fis-cal.

- La impresión de la leyenda “MAC EN PROCESO”. - La leyenda “Inicio de operación fiscal”. - Se imprime automáticamente 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.

Page 9: Seri Tick

Página 9 de 130

1.5. Corte en la alimentación eléctrica

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 va-ciado.

En caso de producirse un corte en la alimentación eléctrica con un comprobante abierto el con-trolador fiscal cancela dicho comprobante. Al retornar la alimentación imprime dos líneas, la primera formada por el caracter “/” y la segunda con la leyenda “CORTE DE CORRIENTE”, se-guidas de la leyenda “COMPROBANTE CANCELADO”. A continuación consulta el buffer arriba mencionado y ejecuta automáticamente, sin intervención del operador, todos los comandos al-macenados, restableciéndose así el estado en que se encontraba el comprobante.

La cancelación se realiza en todos los estados del controlador excepto: • Si se estaba imprimiendo el logotipo fiscal de un comprobante fiscal, una vez recuperada la energía el comprobante no se cancela y se vuelve a imprimir el logo fiscal.

• Si se estaban imprimiendo las dos primeras líneas del encabezado del comprobante, una vez recuperada la energía las líneas se completan automáticamente.

• Si se estaba realizando un cierre de jornada fiscal, una vez recuperada la energía el coman-do no es cancelado y se completa automáticamente.

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 configuración de información 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 fábrica se encuentra en Estado No Inicializado. En este esta-do, la impresora no acepta ningún comando, excepto el de inicialización. Mediante el comando de inicialización ejecutado en Estado No Inicializado se puede acceder a otros dos estados: el Modo Entrenamiento y el Modo Fiscal (ver comando de inicialización 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 serán acumuladas en la memoria fiscal, y los

Page 10: Seri Tick

Página 10 de 130

espacios en blanco serán reemplazados por signos de pregunta en las facturas. Es importante remarcar que este modo debe ser utilizado para que el usuario comprenda la operación de la impresora fiscal, pero bajo ningún 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 ini-cialización 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 operación 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.

Page 11: Seri Tick

Página 11 de 130

22.. CCoommaannddooss FFiissccaalleess

2.1. Estructura de los comandos Los comandos fiscales usados para comunicación 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 Descripción

STX 1 Start of Frame (ASCII 02H). Comienzo de paquete de información. SN 1 Sequence number. Un número par entre 20H y 7fH que identifica el

paquete enviado. El SN del paquete siguiente debe continuar la se-cuencia, y una vez alcanzado 7fH se comienza nuevamente por 20H. La respuesta debe tener el mismo SN.

ID 1 Código de identificación del comando fiscal, representado median-te un caracter ASCII (por ejemplo, "Y" para pedir la fecha/hora fis-cal).

FS 1 Field Separator (ASCII 1cH). Separador de campos del comando Campo n Parámetro requerido por el comando fiscal. (El par FS y Campo

pueden repetirse varias veces de acuerdo al tipo de comando en-víado).

ETX 1 End of Frame (ASCII 03H). Fin de paquete de información. BCC 4 Block Check Character: Checksum del paquete que se obtiene su-

mando todos los bytes anteriores.

Page 12: Seri Tick

Página 12 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 dígitos hexadecimales -ASCII 48 (‘0’) al 57 (‘9’), y/o 65 (‘A’) al 70 (‘F’) y/o 97 (‘a) al 102 (‘f’)-.

A Alfanumérico Consiste en caracteres ASCII en el rango 32 (‘ ’) a 175 (‘»’).

N Numérico Consiste en caracteres ASCII que representan dígitos decimales –ASCII 48 (‘0’) al 57 (‘9’)- y del punto decimal, precedidos del signo positivo o negativo. Los números sin signo son consi-derados positivos. Los ceros a la izquierda pueden ser omitidos.

D Fecha (AAMMDD) ‘AA’ Debe estar en el rango “00” – “95”, representando al año ‘20AA’.; y “96” – “99” repre-

sentando al año ‘19AA’. ‘MM’ Debe estar en el rango “01” – “12”, representando al mes del año indicado. ‘DD’ Debe estar en el rango “01” – “31”, representando al dia del mes, para el año indica-do. El cero a la izquierda puede omitirse en el campo del año, pero no pueden omitirse en el campo del mes, ni en el del día.

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 erróneo de datos para un determinado campo, se responde con un error de campo en el status fiscal (ver apéndice 2) y el comando es ignorado por el con-trolador fiscal. 2.2.2. Longitud de los campos Los campos son de longitud variable. En la descripción de los comandos se indica el tamaño máximo de los mismos, pero dicho tamaño puede reducirse si el dato a transcribir tiene menor longitud. 2.2.3. Campos vacíos

Page 13: Seri Tick

Página 13 de 130

Si un campo se encuentra vacío, puede eliminárselo. Aún 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 numéricos y deben responder al siguiente formato:

±nnnnnnnnn,nnnn

Donde:

± Indica el signo que afecta al número representado (si éste es positivo, puede no indicarse).

nnnnnnnnn Indica que el campo tiene una parte entera de tantos dígitos como ‘n’ se indi-can (en este caso, 9 dígitos).

, Indica el punto decimal, que debe indicarse obligatoriamente. nnnn Indica que el campo tiene una parte decimal de tantos dígitos como ‘n’ se indi-

can. En el modelos SMH/PT-250FPA corresponden 4 decimales para el precio

unitario del comando de impresión de ítem.

Los campos de montos son de longitud variable. En caso de que la parte entera tenga menos dí-gitos que el máximo permitido, no es necesario llenar el campo con ceros a la izquierda (no de-be hacerse tampoco con espacios). En cuanto a los decimales, aún en el caso de que se trate de números enteros debe respetarse el formato e indicarse al menos un cero. En caso de querer re-llenar la longitud del campo a derecha (en la parte decimal), hacerlo con ceros y no con espa-cios. Para más información del formato de los campos ver apéndice 10 2.2.5. Cantidades El campo correspondiente a las cantidades tiene un formato con 10 decimales con las siguientes características:

- No es necesario llenar los diez lugares decimales. Sí es obligatorio indicar el punto decimal y, al menos, un dígito decimal aunque éste sea cero.

- En el modelo SMH/PT-250FPA, el campo de las cantidades tiene hasta siete dígitos (so-

lamente 4 en modelos y versiones anteriores), incluyendo el punto decimal.

El punto decimal es móvil y el uso del signo más o menos es optativo. En todos los casos se pue-den ingresar los 10 dígitos decimales mencionados en el punto anterior, pero en la factura sólo se imprimirán hasta diez caracteres con redondeo. Por ejemplo, los valores siguientes son váli-dos: -999999; 999999, 123456.1234567890 (en la factura se imprime 123456.123), 0.1234567890 (en la factura se imprime 0.12346789).

Page 14: Seri Tick

Página 14 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 uni-tario del artículo difiera, en algún decimal, con el valor impreso de la venta y en la misma fac-tura.

El uso de cantidades (pesos) con 10 decimales es una respuesta a la variedad de balanzas de distintas características existentes en plaza y, de acuerdo a la experiencia recogida por Compa-ñía Hasar, resulta la solución más satisfactoria. 2.2.6. Campos con texto Si un campo de texto contiene el string “TOTAL” o cualquiera de sus variantes (combinaciones de letras mayúsculas y minúsculas, reemplazo de la letra “o” por un número “0”, incorporación de espacios o caracteres especiales entre letras) se lo reemplazará automáticamente por el string “T#TAL” , o por la variante correspondiente. Los únicos campos que admiten la inclusión del string “Total”: - Nombre o Razón Social en el comando InitEpromFiscal (Datos del propietario para la iniciali-zación fiscal). - Nombre o Razón Social en el comando SetCustomerData (Datos del comprador en una factu-ra). 2.2.7 Descripción de errores de los comandos Luego de la descripción de cada comando se entrega una descripción de los errores que pueden presentar los mismos al intentar ser ejecutados. Dicha descripción posee el siguiente formato: Tipo de error -> ERROR N Lo cual representa que en cada comando, al ocurrir un error en algún campo del comando en-viado (simbolizado por N), detrás del status de la impresora y el status fiscal presentes en las respuestas (ver ejemplos) se envía la cadena de caracteres ERROR N, en lugar del resto de la respuesta habitual. Por ejemplo, para un comando genérico una respuesta normal sería: [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 ob-tenida en este caso sería: [STX][SN][Status impresora]∟[Status fiscal]∟1∟ERROR 1[ETX][BCC] Nótese que antes de la cadena correspondiente se da el número del campo donde ocurrió el error.

2.3. Clasificación de los comandos

Según la función que cumplen, los comandos pueden dividirse en doce grandes grupos:

Page 15: Seri Tick

Página 15 de 130

- 1. Comandos de inicialización, baja fiscal y configuración - Comando de inicialización: 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 configuración: configuran ciertos parámetros de operación del controlador fiscal.

- 2. Comandos de diagnóstico y consulta

Permiten conocer el estado en que se encuentran la impresora, el controlador fiscal, el parser de este último, los parámetros de configuración y los datos de inicialización 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 auditoría.

- 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 opera-ciones correspondientes y cerrarlo.

- 6. Comandos de alícuotas 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 válidos para todo tipo de documentos.

- 8. Comandos de control de la impresora Avanzan el papel de impresión 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.

Page 16: Seri Tick

Página 16 de 130

- 11. Comandos de domicilio fiscal Estos comandos permiten grabar y consultar las líneas de domicilio fiscal, que serán im-presas en los comprobantes emitidos.

- 12. Comandos de la memoria de auditoría

Estos comandos se utilizan para el manejo de la memoria de auditoría (cinta de auditoría electrónica).

Page 17: Seri Tick

Página 17 de 130

33.. DDeessccrriippcciióónn ddee llooss ccoommaannddooss

3.1. Comandos de inicialización, baja y configuración 3.1.1. InitEpromFiscal - Inicialización (Reservado para uso exclusivo de Compañía Hasar. Se lo menciona en este manual para refe-rencia de desarrolladores de software) Inicializa la impresora fiscal grabando en la memoria EPROM fiscal los siguientes datos corres-pondientes al emisor y al controlador fiscal (todos los campos tienen longitud fija):

a. Razón social del emisor (3x42 caracteres alfanuméricos). b. Número de registro de la impresora fiscal (6 caracteres alfabéticos + 7 caracte

res numéricos) c. Número de Registro Único de Contribuyente (RUC) (18 caracteres numéricos).

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 parámetro corresponde a la clave de validación que permitirá al controlador restringir la ejecución de este comando -de modo que esta acción solo pueda ser efectuada por medio del uso del software provisto por Compañía Hasar a este fin-. Este comando causa que el controlador fiscal abandone el estado ‘No Inicializado’. Finalizada la inicialización, se imprime automáticamente el reporte de inicialización del contro-lador fiscal. Utilización 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 vacíos, excepto el Número de Registro de la Impresora (ver tabla más abajo). Se entiende que cuando un campo está vacío debe enviarse el separador de campo correspondiente a continua-ción del anterior, por ejemplo: Teniendo la siguiente cadena: 0800∟0600∟P∟25 Si el segundo campo debiera estar vacío, debería enviarse: 0800∟∟P∟25 Para acceder al Modo Fiscal se tienen dos instancias:

Page 18: Seri Tick

Página 18 de 130

- Acceso al Modo Fiscal desde Modo Entrenamiento: Debe enviarse el presente comando con to-dos los campos completos, excepto el Número de Registro de la Impresora, o bien con éste Nú-mero de Registro de la Impresora coincidente con el que ya posee. - Acceso al Modo Fiscal desde Estado No Inicializado: Debe enviarse el presente comando com-pleto, es decir, con todos sus campos llenos.

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 0xb0 (ASCII 176) 4 FS

5-50 Línea 1 de Razón Social del Contribuyente A 51 FS

52-97 Línea 2 de Razón Social del Contribuyente A 98 FS

99-144 Línea 3 de Razón Social del Contribuyente A 145 FS

146-175 N°de Registro Único de Contribuyente (RUC) A 176 FS

177-178 Nº de DV de Contribuyente (DV) A 179 FS

180-192 N°de Registro de la Impresora A 193 FS

194-239 Línea 1 de Razón social del Distribuidor A 240 FS

241-286 Línea 2 de Razón social del Distribuidor A 287 FS

288-333 Línea 3 de Razón social del Distribuidor A 334 FS

335-364 Nº de Registro Único de Contribuyente (RUC) del Distribuidor A 365 FS

366-367 Nº de DV de Distribuidor (DV) A 368 FS

Page 19: Seri Tick

Página 19 de 130

369-372 Clave de validación H 373 ETX

374-377 BCC Ejemplo: [STX][SN]░∟Supermercado GARCÍA HNOS SA∟de José y Pedro∟García∟682073-1-464676 DV33∟35∟HHHPP0000001 ∟ Ramos General S.A.∟∟ 456124-1-757583 DV33∟43∟∟6804 [ETX][BCC]

Page 20: Seri Tick

Página 20 de 130

R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 0xb0 (ASCII 176) 4 FS

5-8 Status de la Impresora: datos en ASCII H 9 FS

10-13 Status fiscal:datos en ASCII H 14 ETX

15-18 BCC Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si hay error sintáctico en algunos de los parámetros del 1 al 11 -> ERROR_1 a ERROR_11 Clave de validación no válida -> ERROR_13 Ninguna de las 3 líneas de razón social es programada** -> ERROR_1 *estados no válidos: todos menos NO_INI e INI_JF **debe haber una como mínimo

Ejemplo: [STX][SN]░∟0080∟0600[ETX][BCC]

Page 21: Seri Tick

Página 21 de 130

3.1.2. KillEpromFiscal - Baja de la memoria fiscal (Reservado para uso exclusivo de Compañía Hasar. Se lo menciona en este manual para refe-rencia 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 parámetro corresponde a la clave de validación que permitirá al controlador restringir la ejecución de este comando -de modo que esta acción solo pueda ser efectuada por medio del uso del software provisto por Compañía 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 auditoría.) Este comando sólo puede ejecutarse inmediatamente después de un cierre de jornada fiscal (comando DailyClose). C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 (ASCII 177) 4 FS

5-17 N° de registro de la impresora A 18 FS

19-22 Clave de validación H 23 ETX

24-27 BCC Ejemplo: [STX][SN]▒∟HHHHPP0000000∟6804[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 (ASCII 177) 4 FS

5-8 Status de la Impresora: datos en ASCII H 9 FS

10-13 Status fiscal:datos en ASCII H 14 ETX

15-18 BCC Ejemplo: [STX][SN]▒∟0080∟0600[ETX][BCC] FS = separador de campo (ASCII 28)

Page 22: Seri Tick

Página 22 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 CF ya ha sido dado de baja -> ERROR_0 Clave de validación no válida -> ERROR_2 Nro. de registro no válido o no coincide con el nro. de registro del CF -> ERROR_1 *estados no válidos: todos menos INI_JF , WAIT_KILL y AUDIT_FULL

Page 23: Seri Tick

Página 23 de 130

3.1.3. SetConfigCFData - Config. del controlador por parámetros

Configura uno (a elección) de los siguientes parámetros de funcionamiento del controlador fis-cal.

- 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 configuración se programa en función de la categoría fiscal del emisor (para Contribuyente Ordinario el valor default es Precio Base, para el resto de las categorías 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 Sub-total de documentos fiscales, los Cierres Z / X, los Reportes de Auditoría por rango de fechas / número de zetas (reporte global diario), el reporte de registro diario de memoria fiscal, el re-porte de memoria de trabajo y la programación / lectura de alícuotas ITBMS.

Esta variable de configuración se incorpora solo para mantener la compatibilidad con el proto-colo Epson.

La cadena de caracteres que identifica al Signo Monetario es texto libre de 1 caracter mínimo y hasta 5 caracteres máximo.

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 parámetro a modificar y el valor correspondiente no mantie-nen coherencia.

Este comando solo puede ser ejecutado fuera de todo comprobante.

Page 24: Seri Tick

Página 24 de 130

C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 d (ASCII 100) 4 FS 5 Parámetro a modificar A 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 6 FS 7 Valor del parámetro A Parámetro 1 F: corte total P: corte parcial N: no corta Parámetro 2 T: precio total (incluye el impuesto) Otro: precio base (no incluye el impuesto) Parámetro 3 M: montos, cantidades y porcentajes originales modificados. Otro: montos, cantidades y porcentajes originales sin modificar. Parámetro 4 Texto libre de 1 caracter mínimo y hasta 5 caracteres máximo Parámetro 5 O: Display original Otro: Display nuevo 8 ETX

9-12 BCC Ejemplo: [STX][SN]d∟1∟P[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 d (ASCII 100) 4 FS

5-8 Status de la Impresora: datos en ASCII H 9 FS

10-13 Status fiscal:datos en ASCII H 14 ETX

15-18 BCC Ejemplo: [STX][SN]d∟0080∟0600∟0600[ETX][BCC]

Page 25: Seri Tick

Página 25 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Identificador de variable de configuración no válido -> ERROR_1 Valor a programar no válido** -> ERROR_2 Error al grabar las variables en HDD*** -> ERROR_92 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AUDIT_NEXT_TO_FULL y AUDIT_FULL **cada variable de configuración tiene sus valores válidos ***Se activa el bit 5 del Status Fiscal

Page 26: Seri Tick

Página 26 de 130

3.1.4. StoreLogoData - Carga logotipo Carga en la impresora el logotipo de usuario. Este comando sólo puede ser ejecutado inmediatamente después de emitido el comando de cie-rre 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 transformación del archivo BMP a comandos de la impresora puede realizarse mediante el programa mklogo.exe provisto por Compañía Hasar. Tipo de información

Según sea el valor de este byte, la información enviada es la primera línea del logo (I), una línea intermedia (C), o la última línea (F).

Datos Datos del archivo BMP del logo. Cada byte del archivo se expresa en dos nibbles hexadeci-

males (valores 0 – 9, A – F) que son transmitidos como caracteres ASCII.

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 90H 4 FS 5 Tipo de información A I: comienza carga C: continúa carga logotipo en curso F: Finaliza carga logotipo 6 FS

7-134 Datos (hasta 128 caracteres, en cantidad par) A 135 ETX

136-139 BCC Ejemplo: [STX][SN]É∟I∟7CCFCCFF9FF3CF3199FF3CFBFF0067EF7EFE7FCFFF3CF3BFF3F300679E7EFFFFFFFFFFFFFFFFFFFF000FFFFFF8001FFFFFFE0007FFFFFFFC000FFFFFF000FFFF[ETX][BCC]

Page 27: Seri Tick

Página 27 de 130

R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 90H 4 FS

4-7 Status de la impresora: datos en ASCII H 8 FS

9-12 Status fiscal: datos en ASCII H 13 ETX

14-17 BCC Ejemplo: [STX][SN]É∟C080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Parámetro no corresponde con opción válida (I, F, C) -> ERROR_1 Si los parámetros de carga están fuera de secuencia (I,F,C - en ese orden)-> ERROR_1 Si al hacer el ciere, no hay datos de imagen (imagen vacía) -> ERROR_1 Imagen del logo no cumple con las especificaciones -> ERROR_1 Si la fracción de imagen no es válida -> ERROR_2

*estados no válidos: todos menos INI_JF

Page 28: Seri Tick

Página 28 de 130

3.1.5. ResetLogoData - Reset logotipo Este comando sólo puede ser ejecutado inmediatamente después de emitido el comando de cie-rre de jornada fiscal. CC OO MM AA NN DD OO::

Nº Byte Descripción Tipo 1 STX 2 SN 3 91H 4 ETX

5-8 BCC Ejemplo: [STX][SN]æ[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 90H 4 FS

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 ETX

15-18 BCC Ejemplo: [STX][SN]æ∟C080∟0600[ETX][BCC] Errores que puede presentar este comando: Estado no válido* -> ERROR_0 *estados no válidos: todos menos INI_JF

Page 29: Seri Tick

Página 29 de 130

3.1.6. SetFantasy - Programación Texto Nombre Comercial Programa o borra la línea 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 Descripción Tipo 1 STX 2 SN 3 \ (ASCII 92) 4 FS 5 Número de línea (1-1) N 0: borra 6 FS T

7-52 Texto de hasta 46 caracteres 53 ETX

54-57 BCC

Ejemplo: [STX][SN]\∟1∟Vidriería El Cristal[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 \ (ASCII 92) 4 FS

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 ETX

15-18 BCC Ejemplo: [STX][SN]\∟C080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI, BLOCKED y EST_DOC ** nº válidos: 0 a 1 *** Se activa el bit 5 del Status Fiscal.

Page 30: Seri Tick

Página 30 de 130

3.2. Comandos de diagnóstico y consulta 3.2.1. StatusExtra - Consulta extra de estado Responde, a través de la línea 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 diferen-cia de dicho comando, los números de último documento no corresponden a comprobantes acumulados -ya cerrados-. Esta alternativa es particularmente util para consultar y obtener el número 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 Apéndices 2, 3, 4 y 5. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 *(ASCII 42) 4 ETX

5-8 BCC Ejemplo: [STX][SN]*[ETX][BCC]

Page 31: Seri Tick

Página 31 de 130

R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 *(ASCII 42) 4 ∟

5-8 Status de la impresora:datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 FS

15-18 Status auxiliar: datos en ASCII N 19 FS

20-23 Status documento: datos en ASCII N 24 FS

25-26 Ultimo valor de secuencia (0x20 a 0x7F) A 27 FS

28-29 Código último comando ejecutado con éxito (2 bytes hexa) A 30 FS

31-34 Número de último reporte Z emitido N 35 FS

34-43 Nº última Factura emitida N 45 FS

46-52 Nº última Nota de Débito emitida N 53 FS

54-61 Nº última Nota de Crédito emitida N 62 FS

63-70 Nº último Documento No Fiscal emitido N 71 FS

72-79 Número de último Reporte X emitido N 80 FS

81-87 Número de último Reporte de Auditoría emitido N 89 ETX

90-93 BCC Ejemplo: [STX][SN]*∟0080∟0600∟0000∟0000∟21∟57∟120∟7890∟523∟546∟65 [ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: NO_INI, BLOCKED

Page 32: Seri Tick

Página 32 de 130

3.2.2. GetConfigCFData - Consulta de configuración Responde, a través de la línea serie, con los parámetros de configuración con los que ope-ra el controlador fiscal. No afecta la memoria de trabajo. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 f(ASCII 102) 4 ETX

5-8 BCC Ejemplo: [STX][SN]f[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 f(ASCII 102) 4 ∟

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 FS 15 Tipo de corte del papel de factura A F: corte total P: corte parcial

N: no corta 16 FS 17 Calificador de precio de venta A T: precio total (incluye el impuesto) B: precio base (no incluye el impuesto) FS

Calificador de formato de montos, cantidades y porcentajes A M: montos, cantidades y porcentajes originales modificados. Otro: montos, cantidades y porcentajes originales sin modificar 18/18-22 Cadena de caracteres del signo monetario A 23 Tipo de display utilizado A O: Display original Otro: Display nuevo

24 ETX 25-28 BCC

Ejemplo: [STX][SN]f∟0080∟0600∟P∟B∟M[ETX][BCC]

Page 33: Seri Tick

Página 33 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: NO_INI, BLOCKED

Page 34: Seri Tick

Página 34 de 130

3.2.3. GetSerial - Consulta parcial de datos de inicialización Responde, a través de la línea serie, con el número de registro (serial) y el número de re-gistro Único de Contribuyente (RUC) de la impresora, almacenados en memoria EPROM fis-cal durante la inicialización. No altera la memoria de trabajo. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 Ç(ASCII 128) 4 ETX

5-8 BCC Ejemplo: [STX][SN]Ç[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Ç(ASCII 128) 4 ∟

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 FS

15-27 Número de registro de la impresora A 28 FS

29-38 Número de Registro Único de Contribuyente (RUC) A 39 ETX

40-43 BCC Ejemplo: [STX][SN]Ç∟0080∟0600∟HHHHPP0000000∟V123456789[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: NO_INI, BLOCKED

Page 35: Seri Tick

Página 35 de 130

3.2.4. GetPrinterVersion - Consulta de versión de controlador fiscal Responde, a través de la línea serie, con el modelo y versión del controlador fiscal.

C O M A N D O: Formato del string Nº Byte Descripción Tipo

1 STX 2 SN 3 7fH (⌂ – ASCII 127) 4 ETX

5-8 BCC Ejemplo: [STX][SN]⌂[ETX][BCC] R E S P U E S T A: Formato del string Nº Byte Descripción Tipo

1 STX 2 SN 3 7fH (⌂ – ASCII 127) 4 FS

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 FS

15-49 Versión: “SMH/PT-250FPA - Versión 1.00” A 50 ETX

51-54 BCC Ejemplo: [STX][SN]⌂∟0080∟0600∟ SMH/PT-250FPA – Versión 1.00 [ETX][BCC] Este comando nunca da error.

Page 36: Seri Tick

Página 36 de 130

3.2.5. GetInitData - Consulta de datos de inicialización Responde, a través de la línea serie, conlos datos almacenados en memoria EPROM duran-te la inicialización. No altera la memoria de trabajo C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 s (ASCII 115) 4 ETC

5-8 BCC Ejemplo: [STX][SN]s[ETX][BCC] R E S P U E S T A: Formato del string Nº Byte Descripción Tipo

1 STX 2 SN 3 s (ASCII 115) 4 ∟

5-7 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 FS

15-60 Línea 1 de Razón Social del Contribuyente A 61 FS

63-107 Línea 2 de Razón Social del Contribuyente A 108 FS

109-154 Línea 3 de Razón Social del Contribuyente A 155 FS

156-185 Nº de Registro Único de Contribuyente (RUC) A 186 FS

187-188 Nº de DV de Contribuyente (DV) A 189 FS

190-202 Nº de Registro de la Impresora A 203 FS

204-249 Línea 1 de Razón Social del Distribuidor A 250 FS

251-296 Línea 2 de Razón Social del Distribuidor A 297 FS

298-343 Línea 3 de Razón Social del Distribuidor A 344 FS

345-374 Nº de Registro Único de Distribuidor (RUC) A 375 FS

376-377 Nº de DV de Distribuidor A

Page 37: Seri Tick

Página 37 de 130

378 ETX 379-382 BCC

Ejemplo: [STX][SN]s∟0080∟0600∟Garay Hnos.∟Av Independencia 124∟(1245)∟ 001194700010229562∟48∟HHX1234567∟Distribuidora Jo-sé∟∟∟6820731464676∟12[ETX][BCC] Errores que puede presentar este comando: Estado no válido* -> ERROR_0 *estados no válidos: NO_INI, BLOCKED

Page 38: Seri Tick

Página 38 de 130

3.2.6. GetFantasy - Consulta Texto Nombre Comercial Devuelve la línea de texto correspondiente al nombre comercial del usuario que esté pro-gramada en la impresora (ver SetFantasy) C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Ö (ASCII 153) 4 FS 5 Número de línea de encabezamiento (1-1) N 6 ETX

7-10 BCC Ejemplo: Ü∟1 R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Ö (ASCII 153) 4 ∟

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-60 Texto de hasta 46 caracteres A 61 ETX

62-65 BCC Ejemplo: [STX][SN]Ö∟0080∟0600∟Vidriería El Cristal[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI y BLOCKED ** nº válidos: 1

Page 39: Seri Tick

Página 39 de 130

3.3. Comandos de control fiscal 3.3.1. DailyClose - Reporte Z/Reporte X Responde, según sea el valor enviado en el byte dedicado a tipo de informe, con:

a. Valor: cualquier caracter excepto Z Impresión de un Informe X. En ese caso los acumuladores correspondientes a reportes de lectura son puestos en cero, conservándose en memoria diaria los acumuladores co-rrespondientes 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 impresión de in-forme Z de cierre de jornada fiscal.

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 9 (ASCII 57) 4 FS 5 Tipo de informe A

Z: Reporte Z Otro: Reporte X

6 FS 7 Impresión de Reporte X A

S: NO imprime el Reporte X Otro: Imprime el Reporte X 8 ETX

9-12 BCC Ejemplo: [STX][SN]9∟Z∟S[ETX][BCC]

Page 40: Seri Tick

Página 40 de 130

R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 9 (ASCII 57) 4 ∟

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 FS

15-19 Número del último Reporte Z emitido N 20 FS

21-26 Fecha de inicio del cierre reportado (Z / X) N 27 FS

28-32 Hora de inicio del cierre reportado (Z / X) N 34 FS

35-40 Fecha de cierre del cierre reportado (Z / X) N 41 FS

42-47 Hora de cierre del cierre reportado (Z / X) N 48 FS

49-56 Número de última Factura emitida N 57 FS

58-62 Cantidad de Facturas emitidas (Z / X) N 63 FS

64-75 Monto total (BI) de ventas de Facturas (Z / X) N 76 FS

77-84 Número de última Nota de Débito emitida (Z / X) N 85 FS

86-90 Cantidad de Notas de Débito emitidas (Z / X) N 91 FS

92-103 Monto total (BI) de ventas de Notas de Débito (Z / X) N 104 FS

105-112 Número de última Nota de Crédito emitida (Z / X) N 113 FS

114-118 Cantidad de Notas de Crédito emitidas (Z / X) N 119 FS

120-131 Monto total (BI) de ventas de Notas de Crédito (Z / X) N 132 FS

133-140 Número de último Documento No Fiscal emitido N 141 FS

142-146 Cantidad de Documentos No Fiscales emitidos (Z / X) N 147 FS

148-155 Número de último Reporte X emitido N 156 FS

157-164 Número de último Reporte de Auditoría emitido N 165 FS

166-177 Monto total (BI) de ventas gravadas (FA + ND – NC) (Z / X) N 178 FS

179-190 Monto total (BI) de ventas no gravadas (FA + ND – NC) (Z / X) N 191 FS

192-196 Cantidad de Devoluciones (FA + ND + NC) (Z / X) N

Page 41: Seri Tick

Página 41 de 130

197 FS 198-209 Monto total (BI) de Devoluciones (FA + ND – NC) (Z / X) N

210 FS 211-215 Cantidad de Descuentos (FA + ND + NC) (Z / X) N

216 FS 217-228 Monto total (BI) de Descuentos (FA + ND – NC) (Z / X) N

229 FS 230-234 Tasa imponible ITBMS1 N

235 FS 236-247 Monto venta base imponible ITBMS1 (FA + ND – NC) (Z / X) N

248 FS 249-260 Monto impuesto base imponible ITBMS1 (FA + ND – NC) (Z / X) N

261 FS 262-266 Tasa imponible ITBMS2 N

267 FS 268-279 Monto venta base imponible ITBMS2 (FA + ND – NC) (Z / X) N

280 FS 281-292 Monto impuesto base imponible ITBMS2 (FA + ND – NC) (Z / X) N

293 FS 294-298 Tasa imponible ITBMS3 N

299 FS 300-311 Monto venta base imponible ITBMS4 (FA + ND – NC) (Z / X) N

312 FS 313-324 Monto impuesto base imponible ITBMS3 (FA + ND – NC) (Z / X) N

325 FS 326-330 Tasa imponible ITBMS4 N

331 FS 332-343 Monto venta base imponible ITBMS4 (FA + ND – NC) (Z / X) N

344 FS 345-356 Monto impuesto base imponible ITBMS4 (FA + ND – NC) (Z / X) N

357 FS 358-362 Cantidad de pagos en Efectivo (FA + ND + NC) (Z / X) N

363 FS 364-375 Monto total de pagos en Efectivo (FA + ND – NC) (Z / X) N

376 FS 377-380 Cantidad de pagos con Tarjeta de Débito (FA + ND + NC) (Z / X) N

382 FS 383-394 Monto total de pagos con Tarjeta de Débito (FA + ND – NC) (Z / X) N

395 FS 396-400 Cantidad de pagos con Tarjeta de Crédito (FA + ND + NC) (Z / X) N

401 FS 402-413 Monto total de pagos con Tarjeta de Crédito (FA + ND – NC) (Z / X) N

414 FS 415-419 Cantidad de pagos con Cheque (FA + ND + NC) (Z / X) N

420 FS 421-432 Monto total de pagos con Cheque (FA + ND – NC) (Z / X) N

433 FS 434-438 Cantidad de otros pagos (FA + ND + NC) (Z / X) N

439 FS 440-451 Monto total de otros pagos (FA + ND – NC) (Z / X) N

452 ETX 453-456 BCC

Page 42: Seri Tick

Página 42 de 130

Ejemplo:[STX][SN] ∟∟0080∟0600∟25∟110115∟170101∟110116∟170005∟1524∟85∟18750,60∟130∟22∟450,00∟120∟20∟390,00∟150∟16∟ [ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Identificador de reporte no es X o Z -> ERROR_1 Error sintáctico en parámetro 2 -> ERROR_2 *estados no válidos: todos menos INI_JF, EN_JF y AUDIT_NEXT_TO_FULL

Page 43: Seri Tick

Página 43 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 almace-nados 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 opción ‘G’ el reporte impreso incluye un blo-que de información con la suma de los acumulados del período solicitado. Utilizando otro calificador de comando cualquiera, el reporte impreso contiene un bloque de información por cada cierre Z efectuado dentro del período solicitado. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 : (ASCII 58) 4 FS

5-10 Fecha inicial del período (formato AAMMDD) D 11 FS

12-17 Fecha final del período (formato AAMMDD) D 18 FS 19 Tipo de reporte A

G: reporte global. Otro: reporte individual.

20 ETX 21-24 BCC

Ejemplo: [STX][SN]:∟070827∟070829∟G[ETX][BCC]

Page 44: Seri Tick

Página 44 de 130

R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 : (ASCII 58) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]:∟0080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Fecha de inicio no válida -> ERROR_1 Fecha de fin no válida -> ERROR_2 Fecha de inicio posterior a fecha de fin -> ERROR_1 Calificador de tipo de reporte no válido -> ERROR_3 No hay datos del período solicitado -> ERROR_1

*estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 45: Seri Tick

Página 45 de 130

3.3.3. Reporte de memoria fiscal - Consulta por Número 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 cie-rre 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 opción ‘G’ el reporte impreso incluye un blo-que de información con la suma de los acumulados del rango solicitado. Utilizando otro calificador de comando cualquiera, el reporte impreso contiene un bloque de información 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 Descripción Tipo 1 STX 2 SN 3 ; (ASCII 59) 4 FS

5-8 Número de Z inicial del período N 9 FS

10-13 Número de Z final del período N 14 FS 15 Tipo de reporte A G: reporte global Otro: reporte individual

16 ETX 17-20 BCC

Ejemplo: [STX][SN] ;∟1∟3800∟G[ETX][BCC] R E S P U E S T A:

NºByte Descripción Tipo 1 STX 2 SN 3 ; (ASCII 59) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 ETX

15-18 BCC

Page 46: Seri Tick

Página 46 de 130

Ejemplo: [STX][SN];∟0080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Nro. de Z de inicio <=0 -> ERROR_1 Nro. de Z de fin <=0 -> ERROR_2 Nro. de Z de inicio > nro. de Z de fin -> ERROR_1 No hay datos del período solicitado -> ERROR_1 Error sintáctico en parámetro 1 -> ERROR_1 Error sintáctico en parámetro 2 -> ERROR_2 Error sintáctico en parámetro 3 -> ERROR_3 *estados no validos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 47: Seri Tick

Página 47 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. Envía por el canal serie los datos correspondientes a uno de los registros diarios almace-nados en la memoria fiscal, de acuerdo con lo siguiente:

a. Si en los bytes dedicados a número de Z o fecha se ingresa un número de Z (hasta cua-tro dígitos; valor máximo 1900), envía 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 número de Z o fecha se ingresa una fecha (formato AAMMDD), envía 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 Descripción Tipo 1 STX 2 SN 3 < (ASCII 60) 4 FS

5-8 Número de Z o fecha (campo de longitud variable) A 9 FS 10 Calificador de Z o fecha A Z: número de Z; F: fecha

11 ETX 12-15 BCC

Ejemplo: [STX][SN]<∟1∟Z[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 < (ASCII 60) 4 FS (Información general)

5-9 Status de la impresora H 10 FS

11-14 Status fiscal H 15 FS

16-19 Número del cierre Z reportado N 20 FS

21-26 Fecha de inicio del cierre Z reportado N 27 FS

Page 48: Seri Tick

Página 48 de 130

28-33 Hora de inicio del cierre Z reportado N 34 FS

35-40 Fecha de cierre del cierre Z reportado N 41 FS

42-47 Hora de cierre del cierre Z reportado N 48 FS

49-56 Número de última Factura emitida N 57 FS

58-62 Cantidad de Facturas emitidas N 63 FS

64-75 Monto total (BI) de ventas de Facturas N 76 FS

77-84 Número de última Nota de Débito emitida N 85 FS

86-90 Cantidad de Notas de Débito emitidas N 91 FS

92-103 Monto total (BI) de ventas de Notas de Débito N 104 FS

105-112 Número de última Nota de Crédito emitida N 113 FS

114-118 Cantidad de Notas de Crédito emitidas N 119 FS

120-131 Monto total (BI) de ventas de Notas de Crédito N 132 FS

133-140 Número de último Documento No Fiscal emitido N 141 FS

142-146 Cantidad de Documentos No Fiscales emitidos N 147 FS

148-159 Monto total (BI) de ventas gravadas (FA + ND – NC) N 160 FS

161-168 Número de último Reporte X emitido N 169 FS

170-177 Número de último Reporte de Auditoría emitido N 178 FS

179-180 Monto total (BI) de ventas gravadas (FA + ND – NC) N 181

182-193 Monto total (BI) de ventas no gravadas (FA + ND - NC) 194 FS

195-199 Cantidad de Devoluciones (FA + ND + NC) N 200 FS

201-212 Monto total (BI) de Devoluciones (FA + ND – NC) N 213 FS

214-218 Cantidad de Descuentos (FA + ND + NC) N 219 FS

220-231 Monto total (BI) de Descuentos (FA + ND – NC) N 232 FS

233-237 Tasa imponible ITBMS1 N 238 FS

239-250 Monto ventas base imponible ITBMS1 (FA + ND – NC) N 251 FS

252-263 Monto impuesto base imponible ITBMS1 (FA + ND – NC) N 264 FS

Page 49: Seri Tick

Página 49 de 130

265-269 Tasa imponible ITBMS2 N 270 FS

271-282 Monto ventas base imponible ITBMS2 (FA + ND – NC) N 283 FS

284-295 Monto impuesto base imponible ITBMS2 (FA + ND – NC) N 296 FS

297-301 Tasa imponible ITBMS3 N 302 FS

303-314 Monto ventas base imponible ITBMS3 (FA + ND – NC) N 315 FS

316-327 Monto impuesto base imponible ITBMS3 (FA + ND – NC) N 328 FS

329-333 Tasa imponible ITBMS4 N 334 FS

335-346 Monto ventas base imponible ITBMS4 (FA + ND – NC) N 347 FS

348-359 Monto impuesto base imponible ITBMS4 (FA + ND – NC) N 360 FS

361-365 Cantidad de pagos en Efectivo (FA + ND + NC) N 366 FS

367-378 Monto total de pagos en Efectivo (FA + ND – NC) N 379 FS

380-384 Cantidad de pagos con Tarjeta de Débito (FA + ND + NC) N 385 FS

386-397 Monto total de pagos con Tarjeta de Débito (FA + ND – NC) N 398 FS

399-403 Cantidad de pagos con Tarjeta de Crédito (FA + ND + NC) N 404 FS

405-416 Monto total de pagos con Tarjeta de Crédito (FA + ND – NC) N 417 FS

418-422 Cantidad de pagos con Cheque (FA + ND + NC) N 423 FS

424-435 Monto total de pagos con Cheque (FA + ND – NC) N 436 FS

437-441 Cantidad de otros pagos (FA + ND + NC) (Z / X) N 442 FS

443-454 Monto total de otros pagos (FA + ND – NC) (Z / X) N 455 ETX

456-459 BCC Ejemplo: [STX][SN]<∟0080∟0600∟071002∟120∟4532∟071002∟175432∟2∟10∟73∟5∟128∟6∟21,00∟10,5∟10,00∟7,00∟1190,00∟90,00∟500,00∟105,00∟500,00∟52,50∟0,00∟0,00∟100,00∟7,00∟0,00∟0,00∟0,00∟0,00∟0,00∟200,00∟50,00∟100,00∟21,00∟50,00∟5,25∟0,00∟0,00∟100,00∟7,00∟40,00∟2,10∟1,05∟1,00∟0,70[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si el tipo de reporte no es válido (F/Z) -> ERROR_2 Error sintáctico en parámetro 1 -> ERROR_1

Page 50: Seri Tick

Página 50 de 130

Error sintáctico en parámetro 2 -> ERROR_2 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 51: Seri Tick

Página 51 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 través de la línea 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 Descripción Tipo 1 STX 2 SN 3 g (ASCII 103) 4 ETX

5-8 BCC Ejemplo:[STX][SN]g[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 g (ASCII 103) 4 FS (Información general)

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 FS

15-18 Número de último Reporte Z emitido N 19 FS

20-27 Número de última Factura emitida N 28 FS

29-33 Cantidad de Facturas emitidas N 34 FS

35-46 Monto total (BI) de ventas de Facturas N 47 FS

48-55 Número de última Nota de Débito emitida N 56 FS

57-61 Cantidad de Notas de Débito emitidas N 62 FS

Page 52: Seri Tick

Página 52 de 130

63-74 Monto total (BI) de ventas de Notas de Débito N 75 FS

76-83 Número de última Nota de Crédito emitida N 84 FS

85-89 Cantidad de Notas de Crédito emitidas N 90 FS

91-102 Monto total (BI) de ventas de Notas de Crédito N 103 FS

104-111 Número de último Documento No Fiscal emitido N 112 FS

113-117 Cantidad de Documentos No Fiscales emitidos N 118 FS

119-126 Número de último Reporte X emitido N 127 FS

126-135 Número de último Reporte de Auditoría emitido N 136 FS

137-148 Monto total (BI) de ventas gravadas (FA + ND – NC) N 149 FS

150-161 Monto total (BI) de ventas no gravadas (FA + ND – NC) N 162 FS

163-167 Cantidad de Devoluciones (FA + ND + NC) N 168 FS

169-180 Monto total (BI) de Devoluciones (FA + ND – NC) N 181 FS

182-186 Cantidad de Descuentos (FA + ND + NC) N 187 FS

188-199 Monto total (BI) de Descuentos (FA + ND – NC) N 200 FS

201-205 Tasa imponible ITBMS1 N 206 FS

207-218 Monto ventas base imponible ITBMS1 (FA + ND – NC) N 219 FS

220-231 Monto impuesto base imponible ITBMS1 (FA + ND – NC) N 232 FS

233-237 Tasa imponible ITBMS2 N 238 FS

239-250 Monto ventas base imponible ITBMS2 (FA + ND – NC) N 251 FS

252-263 Monto impuesto base imponible ITBMS2 (FA + ND – NC) N 264 FS

265-269 Tasa imponible ITBMS3 N 270 FS

271-282 Monto ventas base imponible ITBMS3 (FA + ND – NC) N 283 FS

284-295 Monto impuesto base imponible ITBMS3 (FA + ND – NC) N 296 FS

297-301 Tasa imponible ITBMS4 N 302 FS

303-314 Monto ventas base imponible ITBMS4 (FA + ND – NC) N 315 FS

316-327 Monto impuesto base imponible ITBMS4 (FA + ND – NC) N 328 FS

Page 53: Seri Tick

Página 53 de 130

329-333 Cantidad de pagos en Efectivo (FA + ND + NC) N 334 FS

335-346 Monto total de pagos en Efectivo (FA + ND – NC) N 347 FS

348-352 Cantidad de pagos con Tarjeta de Débito (FA + ND + NC) N 353 FS

354-365 Monto total de pagos con Tarjeta de Débito (FA + ND – NC) N 366 FS

367-371 Cantidad de pagos con Tarjeta de Crédito (FA + ND + NC) N 372 FS

373-384 Monto total de pagos con Tarjeta de Crédito (FA + ND – NC) N 385 FS

386-390 Cantidad de pagos con Cheque (FA + ND + NC) N 391 FS

392-403 Monto total de pagos con Cheque (FA + ND – NC) N 404 FS

405-409 Cantidad de otros pagos (FA + ND + NC) (Z / X) N 410 FS

411-422 Monto total de otros pagos (FA + ND – NC) (Z / X) N 423 ETX

424-427 BCC Ejemplo: [STX][SN]g∟0080∟0600∟1038∟071002∟175432∟3∟438∟6∟323∟21,00∟10,5∟0,00∟1950,00∟50,00∟1000,00∟210,00∟900,00∟94,50∟0,00∟0,00∟0,00∟0,00∟500,00∟200,00∟200,00∟42,00∟100,00∟10,50∟0,00∟0,00∟0,00∟0,00∟0,00[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: NO_INI y BLOCKED

Page 54: Seri Tick

Página 54 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 mane-ra que los acumuladores correspondientes queden dispuestos para iniciar un nuevo comprobante.

Tipo de documento

A: Factura. B: Nota de Débito. D: Nota de Crédito.

La carga de los datos del comprador -Nombre y RUC- es opcional para Facturas y obligato-ria para Notas de Crédito, siendo su carga responsabilidad exclusiva de la aplicación. La carga de los datos del comprobante original -Número, Fecha, Hora y Número de Regis-tro del impresor fiscal que emitió dicho comprobante- es ignorada para Facturas y obliga-toria para Notas de Crédito y Notas de Débito, siendo su carga responsabilidad exclusiva de la aplicación. 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 Crédito’ o ’Nota de Débito’ sin haberse especificado los datos del comprobante original.

IMPORTANTE: El comprobante de devolución (nota de crédito) se considera un compro-bante fiscal, por lo cual el contador correspondiente a la cantidad de comprobantes emi-tidos se incrementará al realizar comprobantes de devolución. Al cerrar un comprobante de devolución, 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 Descripción Tipo 1 STX 2 SN 3 @ (ASCII 64) 4 FS

5-46/47-88/89- Nombre o Razón Social del comprador (ver apéndice 13) A

Page 55: Seri Tick

Página 55 de 130

130 131 FS

132-161 Número de Registro Unico de Contribuyente (RUC) del comprador A 162 FS

163-186 Número del comprobante original A 187 FS

188-210 Número de registro de la impresora fiscal que emitió el comprobante original A

211 FS 212-217 Fecha del comprobante original (formato AAMMDD) A

218 FS 219-224 Hora del comprobante original (formato HHMMSS) A

225 FS 226 Tipo de documento A

B: Nota de Débito D: Nota de Crédito A u otro: Factura

225 FS Campo opcional no utilizado (ASCII 127) H

226 FS Campo opcional no utilizado (ASCII 127) H

227 ETX 228-231 BCC

Ejemplo: [STX][SN] @∟Sanchez & Thompson S A∟2209651197910∟6802∟HHP0000002∟ 071002∟164032∟⌂∟⌂ [ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 @ (ASCII 64) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]@∟0080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Error sintáctico en algunos de los parámetros 1 a 7 -> ERROR_1 a ERROR_7

*estados no válidos: todos menos INI_JF y EN_JF

Page 56: Seri Tick

Página 56 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 (típicamente, datos descriptivos de una venta) con una longitud máxima de 42 caracteres. Este comando es rechazado si no se encuentra abierto un comprobante fiscal. Este comando puede emitirse hasta un máximo de cuatro veces seguidas (en cuyo caso cambia el estado del controlador fiscal), y sólo puede estar seguido por el comando Prin-tLineItem. Los caracteres de selección de modalidad de impresión se pueden insertar al comienzo de una línea 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 combinación de los bits 0,1,2 y 3. Caracteres de modalidad de impresión:

Modo Normal …….……….…… ASCII 240 (0xF0) Modo Doble Ancho …………… ASCII 241 (0xF1) Modo Centrado ……………….. ASCII 242 (0xF2) Modo Centrado y Doble Ancho ASCII 243 (0xF3) Modo Impresión en Rojo …….. ASCII 248 (0xF8) (No Disponible en este modelo)

Como se puede ver, las combinaciones se logran (siempre y cuando estén permitidas) haciendo una suma lógica (OR) entre los códigos hexadecimales pertenecientes a las ca-racterísticas a combinar. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 A (ASCII 65) 4 FS

5-46 Hasta 42 caracteres de texto A 47 FS 48 Reservado (No Disponible en este modelo de CF) A 49 ETX

50-53 BCC Ejemplo: [STX][SN]A∟Oferta del día[ETX][BCC]

Page 57: Seri Tick

Página 57 de 130

R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 A (ASCII 65) 4 FS

5-8 Status de la impresora H 9 FS

10-12 Status Fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]A∟0080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Se superó la máxima cantidad de líneas de texto fiscal (4) -> ERROR_0 Error sintáctico en parámetro 1 -> ERROR_1 *estados no válidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF

Page 58: Seri Tick

Página 58 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 línea dividida en tres campos: descripción 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

Multiplicación

Si el valor acumulado es distinto a 1, previo a la línea se imprime otra con dicho va-lor, seguido del signo de multiplicación 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 re-fiere el primer párrafo surge de la multiplicación del valor almacenado en los bytes dedicados a cantidad por el valor almacenado en los bytes dedicados a monto (en es-te caso, precio unitario).

Imputación

Si se llena este byte con el caracter M, el signo del monto resultante de la operación será el del producto de la cantidad por el precio unitario de la venta. En caso contra-rio, si se llena este byte con el caracter m, el signo del monto resultante de la ope-ración será el del producto de la cantidad por el precio unitario de la venta por -1.

Nota: si el signo resultante de la operación es negativo estaremos frente a una devo-lución o descuento de productos ya vendidos en el mismo comprobante. Esta opera-toria solo será aceptada si previamente se ha vendido un producto con la misma des-cripción 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 operación.

El campo de descripción provee de flexibilidad para describir un ítem en letras mayúscu-las o minúsculas. En caso de que el nombre del producto contenga la palabra TOTAL, t()tal (o cualquier otra de sus variantes), la impresora fiscal automáticamente reemplaza-rá dicha palabra por t#tal. El campo de la cantidad se multiplicará por el campo de monto del ítem, y darán como resultado el total del ítem de línea. El monto total máximo de una línea es 99.999.999,99, y si se supera dicho monto, el controlador fiscal informa que va a ocurrir un desborda-miento del acumulador interno. El campo de la tasa impositiva determina en que acumulador interno se suma este monto para el cálculo impositivo en el momento de realizar la transacción. Este campo no debe

Page 59: Seri Tick

Página 59 de 130

faltar y se puede trabajar con cualquiera de las tasas registradas en el proceso de fiscali-zación. Si se envía 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 línea se encuentra calificado como monto negativo (califica-dor de comando = ´m´), se colocará el signo menos (0x2D) al final de la impresión 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 Descripción Tipo 1 STX 2 SN 3 B (ASCII 66) 4 FS 5 Hasta 20 caracteres de texto descripción A 6 FS

7-20 Cantidad (sólo se imprimen siete caracteres incluido el signo) N 21 FS

22-31 Monto N 32 FS

33-37 Tasa de ITBMS N 38 FS 39 Imputación A M: suma; m: resta

40 FS 41-50 Código de producto N

51 ETX 52-55 BCC

Ejemplo: [STX][SN]B∟Item1_Arrozxkg∟2,56∟4,30∟21,00∟M∟12451235[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 B (ASCII 66) 4 FS

5-7 Status de la impresora H 9 FS

10-12 Status Fiscal H 14 FS

15-26 Cantidad de operaciones de venta / anulación realizadas N 27 ETX

28-31 BCC Ejemplo: [STX][SN]B∟0080∟0600∟4[ETX][BCC]

Page 60: Seri Tick

Página 60 de 130

Para información del formato del campo del monto ver apéndice 10 Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Error sintáctico en alguno de los parámetros 1 a 6 -> ERROR_1 a ERROR_6 Tasa no coincide con las programadas -> ERROR_4 Error en límites (> máximo del documento o < 0) -> ERROR_0** *estados no válidos: todos menos SELL_DF y PRINT_TEXT_DF **modifica status fiscal: comando no válido (bit 5) y desborde total (bit 6)

Page 61: Seri Tick

Página 61 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. Sólo se encuentra operativo durante la emisión de comprobante o inmediatamente luego de terminado el mismo. Responde:

a. Calculando el subtotal del comprobante y enviándolo a través de la línea serie, con-juntamente con el resto de la información relevante del comprobante; b. Si el byte dedicado a impresión se llena con el caracter P, imprimiendo la palabra “Subtot”, seguida del monto. Si el comando se emite a continuación del comando To-tal/Tender o luego del cierre del comprobante, la palabra “Subtot” y el monto no se imprimen, cualquiera sea el caracter del byte dedicado a impresión (pero igual se envía el monto ya pagado por la línea serie).

No modifica la memoria de trabajo. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 C (ASCII 67) 4 ETX

5-8 BCC Ejemplo: [STX][SN]C [ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 C (ASCII 67) 4 FS

5-8 Status de la impresora H 9 FS

10-12 Status Fiscal H 14 FS

15-26 Monto venta exento N 27 FS

28-32 Tasa imponible ITBMS1 N 33 FS

34-45 Monto venta base imponible ITBMS1 N 46 FS

47-58 Monto impuesto base imponible ITBMS1 N 59 FS

60-64 Tasa imponible ITBMS2 N 65 FS

66-77 Monto venta base imponible ITBMS2 N 78 FS

Page 62: Seri Tick

Página 62 de 130

79-90 Monto impuesto base imponible ITBMS2 N 91 FS

92-96 Tasa imponible ITBMS3 N 97 FS

98-109 Monto venta base imponible ITBMS3 N 110 FS

111-122 Monto impuesto base imponible ITBMS3 N 123 FS

124-128 Tasa imponible ITBMS4 N 129 FS

130-141 Monto venta base imponible ITBMS4 N 142 FS

143-154 Monto impuesto base imponible ITBMS4 N 155 FS

156-167 Monto Total N 168 ETX

169-172 BCC Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF

Ejemplo: [STX][SN]C∟0080∟0600∟100,00∟50,00∟21,00∟11,00∟200,00∟10,50∟ 21,00∟0,00∟0,00∟0,00 [ETX][BCC]

Page 63: Seri Tick

Página 63 de 130

3.4.5. TotalTender – Pago/Cancelación/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 operación

C: anulación 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 compro-bante calcula el vuelto a partir del monto pagado e imprime monto pagado y vuelto. Las palabras “Total” y “Cambio” son impresas en forma automática. Si el monto del pago no alcanza el subtotal del comprobante, el mismo es ignorado. Si se ingresa más de un pago, el controlador solo considera el último de ellos, ignorando por com-pleto a los anteriores. Una vez cumplida esta operación, sólo puede cerrarse el com-probante o programarse la cola del mismo o ingresar líneas de texto fiscal destinadas a la especificación de caracterísiticas 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 Descripción Tipo 1 STX 2 SN 3 D (ASCII 68) 4 FS

5-24 Hasta 20 caracteres de texto descripción A 25 FS

26-38 Monto pagado / Porcentaje de descuento N 39 FS 40 Tipo de operación A C: anula T: importe pagado D: descuento global (descuento general)

41 FS

Page 64: Seri Tick

Página 64 de 130

42 Tipo de Medio de Pagop 1: Efectivo 2: Tarjeta de débito 3: Tarjeta de crédito 4: Cheque Otro: Otros pagos A

43 ETX 44-47 BCC

Ejemplo: [STX][SN]D∟Efectivo∟685,00∟T∟21,00[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 D (ASCII 68) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 ETX

15-18 BCC

Ejemplo: [STX][SN]D∟0080∟0600[ETX][BCC]

NOTA: El campo “Monto pagado” se refiere a distintas cosas en función del campo “Tipo de operación”, a saber: Si Tipo de operación es “T”, “Monto pagado” se refiere al monto en $ que se ha pagado. Si Tipo de operación 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 Apéndice 10)). Para información del formato del campo del monto ver apéndice 10

Page 65: Seri Tick

Página 65 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Descripción no válida -> ERROR_1 Calificador = pago o bonificación y el monto no es válido -> ERROR_2 Calificador = descuento y el porcentaje no es válido (<0 o >100) -> ERROR_2 Calificador = descuento y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificación y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificación y tasa ITBMS no coincide con alguna existente -> ERROR_4 Calificador no válido -> ERROR_3

Calificador = descuento o bonificación y hay error en límites (> Máximo del docu-mento o < 0) -> ERROR_0** Error sintáctico en parámetro 2 -> ERROR_2 Error sintáctico en parámetro 4 -> ERROR_4

*estados no válidos: tofdos menos SELL_DF, PRINT_TEXT_DF, WAIT_CLOSE_DF **modifica status fiscal: comando no válido (bit 5) y desborde total (bit 6)

Page 66: Seri Tick

Página 66 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 aún no se ha emitido el comando Total/Tender responde:

a. Calculando el total, ingresando como monto pagado el total de lo vendido (de mane-ra 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 número de registro del controlador fiscal; f. Alimentando el papel de facturas y cortándolo.

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 número de registro del controlador fiscal; f. Alimentando el papel de facturas y cortándolo.

De corresponder se imprime la leyenda “CAMBIO $....”. Opciones:

Calificador de Tipo de operación (opcional)

A: cierre parcial del comprobante. E: cierre económico del comprobante. Otro: cierre normal del comprobante.

El Cierre parcial imprime el Total del comprobante y luego permite ingresar líneas de texto fiscal para especificar los medios de pago (no permite seguir ejecutando coman-dos de Pago). Para cerrar definitivamente el comprobante habrá que ejcutar nueva-mente el comando de cierre.

El Cierre económico imprime el Total del comprobante, lo cierra definitivamente, corta el papel y luego imprime las primeras líneas descriptivas del próximo comprobante fis-cal. Después de ejecutar este cierre solo debería abrirse un nuevo comprobante fiscal.

El Cierre normal equivale al cierre económico solo que no pre-imprime las primeras lí-neas descriptivas del próximo comprobante fiscal (este cierre también se ejecuta cuan-do el parámetro de Tipo de operación 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.

Page 67: Seri Tick

Página 67 de 130

C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 E (ASCII 69) 4 FS 5 Tipo de operación (opcional) A A: cierre parcial E: cierre económico Otro: cierre normal 6 ETX

7-10 BCC Ejemplo: [STX][SN]E∟A[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 E (ASCII 69) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-22 Cantidad de comprobantes emitidos dentro de la jornada fiscal. N 23 ETX

24-27 BCC Ejemplo: [STX][SN]E∟0080∟0600∟1710[ETX][BCC] NOTA: Si se envía 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 válido* -> ERROR_0

Subtotal es cero** -> ERROR_0 Error sintáctico en parámetro1 -> ERROR_1 *estados no válido: todos menos SELL_DF y WAIT_CLOSE_DF **cancela el documento

Page 68: Seri Tick

Página 68 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 razón social y el número de CUIT, que ya se encuentran impresos), que incluye la leyenda “NO FIS-CAL”.

Este comando es rechazado si ya se encuentra abierto un comprobante fiscal o no-fiscal. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 H (ASCII 72) 4 FS 5 Identificador de documento C: Copia de documento Otro: DNF de usuario 4 ETX

5-8 BCC Ejemplo: [STX][SN]H∟C[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 H (ASCII 72) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]H∟0080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: todos menos INI_JF y EN_JF

Page 69: Seri Tick

Página 69 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 máxima de 80 caracteres. En un docu-mento no-fiscal emitido mediante la impresora de facturas sólo se imprimen los 42 prime-ros 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 líneas se intercala-rá automáticamente la leyenda “NO FISCAL”.

Caracteres de modalidad de impresión:

Modo Normal …….……….…… ASCII 240 (0xF0) Modo Doble Ancho …………… ASCII 241 (0xF1) Modo Centrado ……………….. ASCII 242 (0xF2)

Modo Impresión en Rojo …….. ASCII 248 (0xF8) C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 I (ASCII 73) 4 FS

5-46 Hasta 42 caracteres de texto A 47 ETX

48-51 BCC Ejemplo: [STX][SN]I∟Lista de clientes[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 I (ASCII 73) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC

Ejemplo: [STX][SN]I∟0080∟0600[ETX][BCC]

Page 70: Seri Tick

Página 70 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: todos menos PRINT_TEXT_DNF

Page 71: Seri Tick

Página 71 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 lí-neas). c. Avanzando el papel de facturas y cortándolo.

Opciones:

Calificador de Tipo de operación (opcional)

E: cierre económico del comprobante. Otro: cierre normal del comprobante.

El Cierre económico imprime el Total del comprobante, lo cierra definitivamente, corta el papel y luego imprime las primeras líneas descriptivas del próximo comprobante fis-cal. Después de ejecutar este cierre solo debería abrirse un nuevo comprobante fiscal. El Cierre normal equivale al cierre económico solo que no pre-imprimen las primeras líneas descriptivas del próximo comprobante fiscal (este cierre también se ejecuta cuando el parámetro de Tipo de operación 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 Descripción Tipo

1 STX 2 SN 3 J (ASCII 74) 4 FS 5 Tipo de operación (opcional) A E: cierre económico Otro: cierre normal. 6 ETX

7-10 BCC Ejemplo: [STX][SN]J∟E[ETX][BCC]

Page 72: Seri Tick

Página 72 de 130

R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 J (ASCII 74) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-22 Número del documento no fiscal recién emitido (número dentro de la jor-nada fiscal) N

23 ETX 24-27 BCC

Ejemplo:[STX][SN]J∟0080∟0600∟45[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Error sintáctico en parámetro 1 -> ERROR_1

*estados no válidos: todos menos PRINT_TEXT_DNF

Page 73: Seri Tick

Página 73 de 130

3.6 Comandos de alícuotas ITBMS 3.6.1. SetIVARates - Programación de Alícuotas ITBMS (Reservado para uso exclusivo de Compañía 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 controla-dor fiscal. El valor 0.00 se utiliza para indicar que la tasa debe ser programada -no podrá ser utilizada-. El último parámetro corresponde a la clave de validación que permitirá al controlador res-tringir la progragación de dichas tasas -de modo que esta acción solo pueda ser efectuada por medio del uso del software provisto por Compañía Hasar a este fin-. Este comando sólo puede ser ejecutado inmediatamente al inicio de la jornada fiscal y siempre que la categoría fiscal del emisor sea Contribuyente ordinario. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 × (ASCII 158) 4 FS

5-9 Tasa imponible ITBMS1 N 10 FS

11-15 Tasa imponible ITBMS2 N 16 FS

17-21 Tasa imponible ITBMS3 N 22 FS

23-27 Tasa imponible ITBMS4 N 28 FS

29-32 Clave de validación H 33 ETX

34-37 BCC Ejemplo:[STX]∟[SN]∟×∟21,00∟10,50∟5,25∟2,50∟4578∟[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 × (ASCII 158) 4 FS

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 ETX

Page 74: Seri Tick

Página 74 de 130

15-18 BCC Ejemplo: [STX][SN]×∟0080∟0600[ETX][BCC] Para información del formato de los campos ver apéndice 9 Errores que puede presentar este comando: Estado no válido* -> ERROR_0 Categoría fiscal distinta de ordinario -> ERROR_0 No verifica clave de validación -> ERROR_4 Error de grabación / almacenamiento*** -> ERROR_92 Si no se especifica ITBMS1 y se -> ERROR_1 Especifica alguna de las otras dos. Tasa ITBMS1 inválida** -> ERROR_1 Tasa ITBMS2 inválida** -> ERROR_2 Tasa ITBMS3 inválida** -> ERROR_3 Tasa ITBMS4 inválida** -> ERROR_4 *estados no válidos: todos menos INI_JF **tasa inválida: < 0 , >100 , no numérica o fuera del formato nn.nn (modo Hasar) o nnnn (modo Epson). ***Se activa el bit 5 del Status Fiscal

Page 75: Seri Tick

Página 75 de 130

3.6.2. GetIVARates - Consulta de Alícuotas ITBMS programadas Envía a través de la línea serie el valor programado correspondiente a las alícuotas ITBMS1, ITBMS2, ITMBS3 e ITBMS4 programadas en el controlador fiscal. Si alguna alícuota ITBMS no había sido previamente programada retorna el campo correspondiente en 0.00. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 ƒ (ASCII 159) 4 ETX

5-8 BCC Ejemplo: [STX]∟[SN]∟ƒ∟[ETX]∟[BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 ƒ (ASCII 159) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 FS

15-19 Tasa imponible ITBMS1 N 20 FS

21-25 Tasa imponible ITBMS2 N 26 FS

27-31 Tasa imponible ITBMS3 N 32 FS

33-37 Tasa imponible ITBMS4 38 ETX

39-42 BCC Ejemplo: [STX][SN]ƒ∟0080∟0600∟21,00∟10,5∟0,00[ETX][BCC]

Para información del formato de los campos ver apéndice 10 Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: NO_INI y BLOCKED

Page 76: Seri Tick

Página 76 de 130

3.7. Comandos comunes a varios tipos de documentos

3.7.1. Cancel – Cancelación 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 Descripción Tipo

1 STX 2 SN 3 ÿ (ASCII 152) 4 ETX

5-8 BCC Ejemplo: [STX][SN]ÿ[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 ÿ (ASCII 152) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: todos menos EST_DOC (los 4 estados a los que hace referencia)

Ejemplo: [STX][SN]ÿ∟0080∟0600[ETX][BCC]

Page 77: Seri Tick

Página 77 de 130

3.7.2. SetBarCode - Código 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 código de barras y posteriormente imprimiéndolo al final del comprobante. Anulación:

La programación del código de barras queda anulada luego de impreso el mismo. Variantes: Tipo de código: Según el tipo de codigo de barras que se desee programar, el byte de tipo de código debe llenarse con uno de los siguientes valores numéricos:

0: Borra de memoria el código almacenado 1: EAN 13 2: EAN 8 3: UPCA 4: ITS 2 de 5

Caracteres a ingresar: Según el tipo de codigo de barras que se desee programar, la cantidad de caracteres nu-méricos que deben ingresarse son:

EAN 13: 12 caracteres numéricos EAN 8: 7 caracteres numéricos UPCA: 11 caracteres numéricos ITS 2 de 5: siempre cantidad par, hasta 18 caracteres numéricos En los cuatro casos la cantidad de caracteres numéricos debe cumplir con la especifica-ción anterior; de no ser así el comando es rechazado.

Impresión de números: Si se llena este byte con el caracter P, bajo el código de barras se imprime el número co-rrespondiente. Si se lo llena con cualquier otro caracter, se imprime el código de barras solamente.

(Comando en la página siguiente)

Page 78: Seri Tick

Página 78 de 130

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Z (ASCII 90) 4 FS 5 0: borra;1: EAN 13; 2: EAN 8; 3: UPCA; 4: ITS 2 de 5 N 6 FS 7-

13/17/18/38 Datos EAN 8 / UPCA / EAN 13 / ITS 2 de 5 N 14 FS 15 Impresión de números A

16 P: imprime números; otro: no imprime números FS

17 Sin efecto en este modelo (poner cualquier caracter) A 18 ETX

19-22 BCC Ejemplo: [STX][SN]Z∟1∟779123456789∟N∟P[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Z (ASCII 90) 4 FS

5-8 Status de la impresora: datos en ASCII H 9 FS

10-13 Status fiscal: datos en ASCII H 14 ETX

15-18 BCC Ejemplo: [STX][SN]Z∟C080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Id. de código inválido -> ERROR_1 Código numérico inválido/no numérico o cant. no corresponde -> ERROR_2 Id. de impresión de números no es solo un caracter -> ERROR_3 Error al grabar código en disco -> ERROR_92

*estados no válidos: NO_INI, AUDIT_NEXT_TO_FULL, AUDIT_FULL, WAIT_KILL, KILL, BLOCKED

Page 79: Seri Tick

Página 79 de 130

Ejemplo: [STX][SN]P∟0080∟0600[ETX][BCC]

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 líneas como se indica en los bytes 5-6. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 P (ASCII 80) 4 FS

5-6 Cantidad de líneas a avanzar N 7 ETX

8-11 BCC Ejemplo: [STX][SN]P∟2[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 P (ASCII 80) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Errores que puede presentar este comando:

Si nº de línea es inválido* -> ERROR_1 * nº válidos: 0 a 99

Page 80: Seri Tick

Página 80 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 ejecución mientras se encuentra abierto cual-quier documento (en los documentos el corte de papel es automático). C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 K (ASCII 75) 4 ETX 5 BCC

Ejemplo: [STX][SN]K[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 K (ASCII 75) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]K∟0080∟0600[ETX][BCC] Este comando nunca da error.* *nunca da error, pero dentro de un documento el comando es ignorado.

Page 81: Seri Tick

Página 81 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 de-be realizarse un cierre de jornada fiscal).

C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 X (ASCII 88) 4 FS

5-10 Fecha (Formato AAMMDD) D 11 FS

12-17 Hora (Formato HHMMSS) T 18 ETX

19-22 BCC Ejemplo: [STX][SN]X∟070912∟163500[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 X (ASCII 88) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo:[STX][SN]X∟0080∟0600[ETX][BCC]

Page 82: Seri Tick

Página 82 de 130

Errores que puede presentar este comando: Fecha no válida -> ERROR_1

Hora no válida -> ERROR_2 Fecha y hora nuevas son anteriores a la actual -> ERROR_0 Ya se cambió fecha/hora (1 cambio por jornada) -> ERROR_0 Estado no válido* -> ERROR_0 * estados no válidos: todos menos INI_JF, NO_INI

Page 83: Seri Tick

Página 83 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 Descripción Tipo

1 STX 2 SN 3 Y (ASCII 89) 4 ETX

5-8 BCC Ejemplo: [STX][SN]Y[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 Y (ASCII 89) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 FS

15-20 Fecha (Formato AAMMDD) D 21 FS

22-27 Hora (Formato HHMMSS) T 28 ETX

29-32 BCC Ejemplo: [STX][SN]Y∟0080∟0600∟070912∟163500[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estado no válido: BLOCKED

Page 84: Seri Tick

Página 84 de 130

3.9.3. SetHeader - Programación 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 línea de texto en la estructura HEADER, para ser impresa en el encabezamiento de un documento.

Caracteres de modalidad de impresión:

Modo Normal …….……….…… ASCII 240 (0xF0) Modo Doble Ancho …………… ASCII 241 (0xF1) Modo Centrado ……………….. ASCII 242 (0xF2) Modo Impresión en Rojo …….. ASCII 248 (0xF8) (No Disponible en este modelo)

Borrado

Borrado de líneas individuales: Para borrar una línea de encabezamiento ya ingre-sada en memoria de trabajo, debe enviarse un comando con sólo el código ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el número de línea con el primer parámetro. Borrado de grupo de líneas: Para borrar todas las líneas de encabezamiento que se encuentran en memoria de trabajo, el campo número de línea deberá llenarse con el valor 0.

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 ] (ASCII 93) 4 FS 5 Número de línea de encabezamiento (1-10) N 0: borra encabezamiento 6 FS T

7-52 Texto de hasta 46 caracteres 53 ETX

54-57 BCC Ejemplo: [STX][SN]]∟1∟Papeltodo SA[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 ] (ASCII 93) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]]∟0080∟0600[ETX][BCC]

Page 85: Seri Tick

Página 85 de 130

Errores que puede presentar este comando:

Estado no válido -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI, BLOCKED y EST_DOC ** nº válidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal

Page 86: Seri Tick

Página 86 de 130

3.9.4. SetTrailer - Programación 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 línea de texto en la estructura TRAILER, para ser impresa en el pié de un documento.

Caracteres de modalidad de impresión:

Modo Normal …….……….…… ASCII 240 (0xF0) Modo Doble Ancho …………… ASCII 241 (0xF1) Modo Centrado ……………….. ASCII 242 (0xF2) Modo Impresión en Rojo …….. ASCII 248 (0xF8) (No Disponible en este modelo)

Borrado

Borrado de líneas individuales: Para borrar una línea de pie ya ingresada en memo-ria de trabajo, debe enviarse un comando con sólo el código ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el número de línea con el primer parámetro. Borrado de grupo de líneas: Para borrar todas las líneas de pie que se encuentran en memoria de trabajo, el campo número de línea deberá llenarse con el valor 0.

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 ^ (ASCII 94) 4 FS 5 Número de línea de pié (1-10) N 0: borra pie 6 FS T

7-52 Texto de hasta 46 caracteres 53 ETX

54-57 BCC Ejemplo: [STX][SN]^∟1∟Gracias por su compra[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 ^ (ASCII 94) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]^∟0080∟0600[ETX][BCC]

Page 87: Seri Tick

Página 87 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI, BLOCKED y EST_DOC ** nº válidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal

Page 88: Seri Tick

Página 88 de 130

3.9.5. GetHeader - Consulta Texto Encabezado Documentos Envía a través de la línea serie una línea de encabezamiento almacenada en la estructura HEADER. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Ü (ASCII 154) 4 FS 5 Número de línea de encabezamiento (1-10) N 6 ETX

7-10 BCC Ejemplo: [STX][SN]Ü∟1[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Ü (ASCII 154) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-59 Texto de hasta 46 caracteres A 60 ETX

61-64 BCC Ejemplo: [STX][SN]Ü∟0080∟0600∟Papeltodo SA[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI y BLOCKED ** nº válidos: 1 a 10

Page 89: Seri Tick

Página 89 de 130

3.9.6. GetTrailer - Consulta Texto Pié Documentos Envía a través de la línea serie una línea de pié almacenada en la estructura TRAILER. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 ø (ASCII 155) 4 FS 5 Número de línea de pie (1-10) N 6 ETX

7-10 BCC Ejemplo: [STX][SN]ø∟1[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 ø (ASCII 155) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-59 Texto de hasta 46 caracteres A 60 ETX

61-64 BCC Ejemplo: [STX][SN]ø∟0080∟0600∟Gracias por su compra[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI y BLOCKED * nº válidos: 1 a 10

Page 90: Seri Tick

Página 90 de 130

3.9.7. SetCustExtraData - Programación 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 línea de datos adicionales del comprador en la estructura CUSTOMER, para ser impresa en la apertura del próximo do-cumento fiscal emitido. La estructura CUSTOMER se borra cada vez que se cierra un comprobante.

Caracteres de modalidad de impresión:

Modo Normal …….……….…… ASCII 240 (0xF0) Modo Doble Ancho …………… ASCII 241 (0xF1) Modo Centrado ……………….. ASCII 242 (0xF2) Modo Impresión en Rojo …….. ASCII 248 (0xF8) (No Disponible en este modelo)

Nota: en ciertos casos se permite la combinación de más de una modalidad de impresión simultaneamente.

Borrado

Borrado de líneas individuales: Para borrar una línea de datos adicionales del com-prador ya ingresada en memoria de trabajo, debe enviarse un comando con sólo el código ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y se-leccionar el número de línea con el primer parámetro o simplemente dejarla en blanco y seleccionar el número de línea con el primer parámetro. Borrado de grupo de líneas: Para borrar todas las líneas de datos adicionales del comprador que se encuentran en memoria de trabajo, el campo número de línea deberá llenarse con el valor 0.

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 £ (ASCII 156) 4 FS 5 Número de línea de datos adicionales del comprador (1-5) N 0: borra datos adicionales del comprador 6 FS

7-52 Texto de hasta 46 caracteres A 53 ETX

54-57 BCC Ejemplo: [STX][SN]£∟1∟Dirección Legal: Andes 2541∟[ETX][BCC]

Page 91: Seri Tick

Página 91 de 130

R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 £ (ASCII 156) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]£∟0080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI , BLOCKED, EST_DOC, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** nº válidos: 0 a 5 ***Se activa el bit 5 del Status Fiscal

Page 92: Seri Tick

Página 92 de 130

3.9.8. GetCustExtraData - Consulta Datos Adicionales del Comprador Envía a través de la línea serie una línea de datos adicionales del Comprador almacenada en la estructura CUSTOMER. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Ø (ASCII 157) 4 FS 5 Número de línea de datos adicionales del comprador (1-5) N 6 ETX

7-10 BCC Ejemplo: [STX][SN]Ø∟1[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Ø (ASCII 157) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-60 Texto de hasta 46 caracteres A 61 ETX

62-65 BCC Ejemplo: [STX][SN]Ø∟0080∟0600∟Dirección Legal: Andes 2541[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI , BLOCKED, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** nº válidos: 1 a 5

Page 93: Seri Tick

Página 93 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 Descripción Tipo 1 STX 2 SN 3 { (ASCII 123) 4 ETX

5-8 BCC Ejemplo: [STX][SN]{[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo1 STX 2 SN 3 { (ASCII 123) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo:[STX][SN]{∟0080∟0600[ETX][BCC] Este comando nunca da error.

Page 94: Seri Tick

Página 94 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 Descripción Tipo 1 STX 2 SN 3 | (ASCII 124) 4 ETX

5-8 BCC Ejemplo: [STX][SN]|[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 | (ASCII 124) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]|∟0080∟0600[ETX][BCC] Este comando nunca da error.

Page 95: Seri Tick

Página 95 de 130

3.11. Comandos de domicilio fiscal 3.11.1. SetFiscalAddress - Programación de líneas de Domicilio Fiscal Almacena en memoria de trabajo una de las 10 líneas de texto del Domicilio Fiscal, las cuales se imprimen automáticamente al comienzo de todo Comprobante Fiscal. Su admi-nistración es responsabilidad de la aplicación. Este comando sólo puede ser ejecutado fuera de todo comprobante. Para abrir un comprobante de tipo ‘Factura’, ‘Nota de Crédito’ o ’Nota de Débito’ será obligatorio contar con al menos una línea de Domicilio Fiscal programada. Estas líneas se borran luego de hacer un MAC. Caracteres de modalidad de impresión:

Modo Normal …….……….…… ASCII 240 (0xF0) Modo Doble Ancho …………… ASCII 241 (0xF1) Modo Centrado ……………….. ASCII 242 (0xF2) Modo Impresión en Rojo …….. ASCII 248 (0xF8) (No Disponible en este modelo)

Borrado

- Borrado de líneas individuales: Para borrar una línea de Domicilio Fiscal ya ingresada en memoria de trabajo, debe enviarse un comando con sólo el código ASCII 7fH (DEL) en el campo de texto.

- Borrado conjunto de todas las líneas: Para borrar las cinco líneas de Domicilio Fiscal que se encuentran en memoria de trabajo, el campo número de línea deberá llenarse con el valor 0. Aún así, el campo correspondiente al texto no deberá estar vacío. De otra manera el comando será rechazado.

C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 _(ASCII 95) 4 FS 5 Nº de línea de Domicilio Fiscal (1-10) N 0: borra todas las líneas 6 FS

7-51 Texto de hasta 46 caracteres T 52 ETX

53-56 BCC Ejemplo: [STX][SN]_∟1∟Línea de domicilio fiscal 1[ETX][BCC]

Page 96: Seri Tick

Página 96 de 130

R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 _(ASCII 95) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 ETX

15-18 BCC Ejemplo: [STX][SN]_∟0080∟0600[ETX][BCC] Errores que puede presentar este comando:

Estado no válido -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI , BLOCKED y EST_DOC **nº válidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal

Page 97: Seri Tick

Página 97 de 130

3.11.2. GetFiscalAddress - Consulta de líneas de Domicilio Fiscal Envía, a través de la línea serie de comunicación con el host, una línea de texto de Domi-cilio Fiscal. C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Æ (ASCII 146) 4 FS 5 Nº de línea a reportar (1-10) N 6 ETX

7-10 BCC Ejemplo: [STX][SN]Æ∟1[ETX][BCC] R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 Æ (ASCII 146) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status fiscal H 14 FS

56-101 Texto de la línea reportada (hasta 46 caracteres) A 102 ETX

103-106 BCC Nota: Si la línea seleccionada no se encuentra programada, el campo del texto se reporta vacío. Ejemplo:[STX][SN]Æ∟0080∟0600∟Bolivar 235[ETX][BCC] Nota: Si la línea seleccionada no se encuentra programada, el campo del texto se reporta vacío. Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI y BLOCKED * nº válidos: 1 a 10

Page 98: Seri Tick

Página 98 de 130

3.11.3. GetDocNumZRange - Consulta de cierre zeta en el que fue emitido un determinado comprobante Este comando identifica el número de cierre Z (el rango de jornadas fiscales) en el que se halla un deteminado comprobante especificado por el usuario. En condiciones normales, el número de jornada fiscal inicial del rango debe coincidir con el número de jornada fis-cal final del mismo. Si esto no ocurriese, se estaría ante un error de lectura, y deberán pedirse todas y cada una de las jornadas fiscales del rango (ver Reporte de Memoria Fis-cal - Consulta por Número de Reporte Z) C O M A N D O:

Nº Byte Descripción Tipo 1 STX 2 SN 3 = (ASCII 61) 4 FS 5 Identificador del comprobante buscado N 1: factura 2: nota de débito 3: nota de crédito 4: documento no fiscal 5: reporte x 6: reporte de auditoría 6 FS 7 Nº del comprobante buscado N 8 ETX

9-12 BCC Ejemplo: Æ∟1 R E S P U E S T A:

Nº Byte Descripción Tipo 1 STX 2 SN 3 = (ASCII 61) 4 FS

5-9 Status de la impresora H 10 FS

11-14 Status fiscal H 15 FS

16-19 Número de jornada fiscal inicial del rango N 20 FS

21-24 Número de jornada fiscal final del rango N 25 ETX

26-29 BCC

Page 99: Seri Tick

Página 99 de 130

3.12 Comandos de la memoria de auditoría. 3.12.1. GetPublicKey - Leer clave pública Obtiene la clave pública asociada al controlador fiscal –la cual fue generada en la iniciali-zación del mismo-. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 á (ASCII 160) 4 ETX

5-8 BCC Ejemplo: [STX][SN]á[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 á (ASCII 160) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-143 Módulo de la clave pública A 144 FS

145-273 Exponente de la clave pública A 274 ETX

275-278 BCC Ejemplo:[STX][SN]á∟0080∟0600∟[MóduloCP]∟[ExponenteCP][ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 100: Seri Tick

Página 100 de 130

3.12.2. GetAuditRangeZNum - Obtener rango de cierres Z por números Dado un rango de fechas obtiene el rango de números de cierres Z comprendido entre am-bas. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 í (ASCII 161) 4 FS

5-10 Fecha inicial del período (formato AAMMDD) D 11 FS

12-17 Fecha final del período (formato AAMMDD) D 18 FS 19 Fuente de la encuesta A: cinta de auditoría Otro: memoria fiscal

20 ETX 21-24 BCC

Ejemplo: [STX][SN]í∟080110∟080205∟A[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 í (ASCII 161) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-18 Número de Z inicial del período N 19 FS

20-23 Número de Z final del período N 24 ETX

25-28 BCC Ejemplo: [STX][SN]í∟0080∟0600∟1080∟1099[ETX][BCC]

Page 101: Seri Tick

Página 101 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Fecha de inicio no válida -> ERROR_1 Fecha de fin no válida -> ERROR_2 Fecha de inicio posterior a fecha de fin -> ERROR_1 No hay informes Z en el rango -> ERROR_0 Fuente de la encuesta no válida -> ERROR_3 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 102: Seri Tick

Página 102 de 130

3.12.3. GetAuditFirstBlock - Obtener primer bloque de registro de cinta de auditoría Dado rango de números de registros Z solicitado responde el número del primer cierre Z perteneciente a dicho rango existente en cinta de auditoría y el primer bloque de infor-mación correspondiente al registro asociado a dicho cierre Z. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 ó (ASCII 162) 4 FS

5-8 Número de Z inicial del período N 9 FS

10-13 Número de Z final del período N 14 ETX

15-18 BCC Ejemplo: [STX][SN]ó∟1102∟1200[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 ó (ASCII 162) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS 15 Identificador de tipo de bloque A I: Bloque de información del registro

16 FS 17-20 Número de Z informada N

21 FS 21-532 Información del registro -codificada en formato ascii85- A

533 ETX 534-537 BCC Ejemplo:[STX][SN] ó∟0080∟0600∟I∟0016∟<~!<NU!;c5>*1GgsI2Zs*[s8N'"!XVar7P4?g0eHE.s8W-!!!*--:JsSP:-hcL:BUXss8N'"!Y.Rh5p/]a;aF;(;aEuB"98E$rr<'$&6!LZFE_/6AKYMp+@9LXAHVu4s8N'"!X^Y=/MJq31@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]

Page 103: Seri Tick

Página 103 de 130

Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Nro. de Z de inicio <=0 o no válido -> ERROR_1 Nro. de Z de fin <=0 o no válido -> 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 válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 104: Seri Tick

Página 104 de 130

3.12.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditoría Responde el siguiente bloque de información correspondiente al registro asociado al cierre Z solicitado en el anterior comando, o la firma asociada al registro (el bloque de la firma se envía al final, luego de haber enviado previamente hasta todos los bloques de informa-ción de todos los registros Z solicitados en el comando GetAuditNextBlock). C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 ú (ASCII 163) 4 ETX

5-8 BCC Ejemplo: [STX][SN]ú[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 ú (ASCII 163) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS 15 Identificador de tipo de bloque A I: Bloque de información del registro F: Bloque de firma del registro

16 FS 17-20 Número de Z informada N

21 FS 22-532 Información del registro -codificada en formato ascii85-

Firma del registro -no codificada en formato ascii85. A 533 ETX

534-537 BCC El ejemplo es similar al del comando anterior Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 Se pide NextBlock antes de pedir FirstBlock -> ERROR_0 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 105: Seri Tick

Página 105 de 130

3.12.5. GetAuditSeqNum - Obtener número de secuencia actual de cinta de auditoría Responde el número de secuencia actual de la cinta de auditoría. Este número indica cuántas veces se ha borrado la memoria de auditoría electrónica. Cuando el equipo no es-tá inicializado este campo vale 0, incrementándose a 1 en la inicialización. Internamente el equipo comprueba que haya congruencia entre el número de secuencia registrado en la memoria fiscal y el presente en la cinta de auditoría electrónica. C O M A N D O: Nº Byte Descripción Tipo

1 STX 2 SN 3 ñ (ASCII 164) 4 ETX

5-8 BCC Ejemplo: [STX][SN]ú[ETX][BCC] R E S P U E S T A: Nº Byte Descripción Tipo

1 STX 2 SN 3 ñ (ASCII 164) 4 FS

5-8 Status de la impresora H 9 FS

10-13 Status Fiscal H 14 FS

15-16 Número de Secuencia A 17 ETX

18-21 BCC Ejemplo: [STX][SN]ñ∟0080∟0600∟16[ETX][BCC] Errores que puede presentar este comando:

Estado no válido* -> ERROR_0 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 106: Seri Tick

Página 106 de 130

4. Documentos

4.1. Factura

DGI Línea 1 Nombre o razón social Línea 2 Nombre o razón social Línea 3 Nombre o razón social Número de RUC Línea 1 Dirección Línea 2 Dirección Línea 3 Dirección Línea 4 Dirección Línea 5 Dirección Línea 1 Header (Encabezado) Línea 2 Header (Encabezado) Línea 3 Header (Encabezado) Línea 4 Header (Encabezado) Línea 5 Header (Encabezado)

FACTURA Número Fecha Hora

Texto fiscal Texto fiscal Texto fiscal Texto fiscal Cant. / precio unit. (ITBMS) Descripción [%BI] Monto Descuento [%BI] Monto Bonificación Monto Alícuota ITBMS Base

..[%ITBMS] Monto base Monto T O T A L $ Monto Medio de pago Monto Línea 1 Pie (Trailer) Línea 2 Pie (Trailer) Línea 3 Pie (Trailer) Línea 4 Pie (Trailer) Línea 5 Pie (Trailer) Línea 6 Pie (Trailer) Línea 7 Pie (Trailer) Línea 8 Pie (Trailer) Línea 9 Pie (Trailer) Línea 10 Pie (Trailer) Logotipo fiscal Registro Versión

Page 107: Seri Tick

Página 107 de 130

AAppéénnddiicceess AAppéénnddiiccee 11:: TTiippoo ddee lleettrraa..

En ciertos textos fiscales y no fiscales al comienzo de la línea puede embeberse un co-mando que selecciona el tipo de letra en el que se imprimirá la línea. Todas las líneas comienzan automáticamente en modo normal, por lo que sólo es necesario incluir el códi-go correspondiente si se desea una línea en doble ancho. Los formatos disponibles son Normal: Este es el valor por defecto. Doble ancho: f4H (ASCII 244) Estos formatos sólo 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 fantasía

Page 108: Seri Tick

Página 108 de 130

AAppéénnddiiccee 22:: SSttaattuuss ffiissccaall Los 16 bits del status fiscal (4 nibbles), expresados en binario, tienen el siguiente signifi-cado (el bit 0 es el menos significativo): Bit Descripción 0 1 = Error de comprobación de memoria fiscal.

Junto con el bit 7 indica que la memoria fiscal está llena 1 1 = Error de comprobación de memoria de trabajo 2 1 No utilizado 3 1 = Comando desconocido El comando recibido no fue reconocido. 4 1 = Datos no válidos en un campo

Uno de los campos del comando recibido tiene datos no válidos (por ejem-plo, datos no numéricos en un campo numérico).

5 1 = Comando no válido para el estado fiscal actual Se ha recibido un comando que no es válido en el estado actual del controla-dor (por ejemplo, abrir un recibo no-fiscal cuando se encuentra abierto un recibo fiscal). Nota: cuando se ha producido un cambio no válido de código de ITBMS, tanto el bit 4 como el 5 tendrán valor 1.

6 1 = Desborde del Total El acumulador de una transacción, del total diario o del ITBMS se desbordará a raíz de un comando recibido. El comando no es ejecutado. Este bit debe ser monitoreado por el host para emitir un aviso de error.

7 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.

8 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.

9 1 No utilizado. 10 1 No utilizado. 11 1 = Es necesario hacer un cierre de la jornada fiscal Se han enviado el número máximo de ítems en un comprobante fiscal y se debe cerrar 12 1 = Documento fiscal abierto

Se encuentra en 1 siempre que un documento fiscal se encuentra abierto. 13 1 = Documento abierto

Este bit se encuentra en 1 siempre que un DNF se encuentra abierto. 14 1 No utilizado 15 1 = OR lógico de los bits 0 a 8 y 11

Page 109: Seri Tick

Página 109 de 130

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

Page 110: Seri Tick

Página 110 de 130

AAppéénnddiiccee 33:: SSttaattuuss iimmpprreessoorraa Los 16 bits del status de la impresora (4 nibbles), expresados en binario, tienen el siguien-te significado (el bit 0 es el menos significativo): Bit Descripción 0 1 No utilizado 1 1 No utilizado 2 1 = Error y/o falla de impresora

Se ha interrumpido la conexión entre el controlador fiscal y la impresora. 3 1 = Impresora offline (fuera de línea)

La impresora no ha logrado comunicarse dentro del período de tiempo esta-blecido.

4 1 No utilizado 5 1 No utilizado 6 1 No utilizado 7 1 No utilizado 8 1 No utilizado 9 1 No utilizado 10 1 No utilizado 11 1 No utilizado 12 1 No utilizado 13 1 No utilizado 14 1 = Impresora sin papel para ser impreso 15 1 = OR lógico 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.

Page 111: Seri Tick

Página 111 de 130

AAppéénnddiiccee 44:: SSttaattuuss aauuxxiilliiaarr El status auxiliar indica el estado del parser del controlador fiscal. Según el valor del nib-ble menos significativo, considerado en formato decimal, el controlador se encuentra en uno de los siguientes estados:

Valor Decimal Estado

0 Controlador Fiscal No Inicializado. 1 Inicio de Jornada Fiscal. 2 En Jornada Fiscal. 3 Un comprobante fiscal se encuentra abierto. Venta habilitada. 4 Comprobante fiscal abierto. Se acaba de imprimir un texto fiscal. 5 Esperando cierre de comprobante fiscal. Se realizó un cierre parcial. 6 Un comprobante no fiscal se encuentra abierto. 7 Cinta de auditoría electrónica completa esperando última Z. 8 Cinta de auditoría electrónica completa. 9 El controlador esta presto a ser dado de baja.

10 El controlador ha sido dado de baja. 11 Controlador Fiscal Bloqueado. Además, según el valor del nibble más significativo del status (el nibble más significativo del byte más significativo), considerado en formato hexadecimal, el controlador se en-cuentra en uno de los siguientes estados: Valor Decimal Estado 4 Código de barras almacenado en memoria de trabajo La combinación de los estados de indica mediante la suma de los respectivos valores hexadecimales.

Page 112: Seri Tick

Página 112 de 130

AAppéénnddiiccee 55:: SSttaattuuss ddee ddooccuummeennttoo El status se divide en 4 bytes. • Si se pide el status fuera de un documento, el valor 1 en el byte menos significativo in-dica 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 re-porta en cero. Los valores de los dos bytes más significativos indican el tipo de documento abierto, de acuerdo con la siguiente tabla: Valores bytes Documento abierto

01 Factura 02 Nota de Débito 03 Nota de Crédito 04 Documento no fiscal

Page 113: Seri Tick

Página 113 de 130

AAppéénnddiiccee 66:: MMaanneejjoo ddeell IITTBBMMSS

6.1. Estructura de la tabla de ITBMS El controlador fiscal cuenta con una tabla de ITBMS con capacidad para almacenar un máximo de 5 valores (alícuotas) 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 contro-lador verifica si la venta está asociada a una alícuota ITBMS registrada en la tabla o IVA 0.00 (exento). De ser así la venta es procesada y si no media ningún tipo de causa de re-chazo (como podría ser algún 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 acumula-dores de todas las posiciones de la tabla de IVA son puestas a cero.

6.2. Cálculo del monto del ITBMS en los recargos o des-cuentos sobre el subtotal Cuando se realiza un recargo o un descuento sobre el subtotal en un comprobante de ven-ta el ITBMS correspondiente a dicha operación 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 posición j de

la tabla de ITBMS. ITBMSj = Monto del ITBMS correspondiente a la posición 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. Impresión de las líneas correspondientes a descuen-tos (o recargos)

Nota: En todos los casos de descuentos o recargos, el controlador sólo reconoce montos fi-jos. En caso de que se desee hacer un descuento o recargo porcentual, el cálculo del mon-to fijo que debe enviarse al controlador queda por cuenta del programa de caja o factura-ción. Las líneas correspondientes a descuentos se imprimen de acuerdo con lo siguiente: • Descuento sobre último ítem vendido La alícuota del ITBMS que se imprime entre paréntesis se corresponde con el del último ítem vendido.

• Descuento general Los campos correspondientes a base imponible y alícuota de ITBMS están en blanco.

Page 114: Seri Tick

Página 114 de 130

AAppéénnddiiccee 77:: TTeerrmmiinnoollooggííaa Base imponible (BI): es el valor de un determinado ítem, sobre el que se calcula el im-puesto asociado. Controlador fiscal: placa de circuito impreso con un microprocesador, memoria y otros dispositivos que restringen y controlan la información impresa en un comprobante fiscal. Comprobante fiscal (CF): documento emitido por la impresora fiscal para ser entregado al comprador como constancia de cualquier operación generadora de ingresos relativa a la actividad en cuestión. Documento no fiscal (DNF): se utiliza para generar en la impresora fiscal reportes deta-llados de ventas, cupones de clientes frecuentes, etc. Los documentos no fiscales pueden contener múltiples líneas de texto fiscal. Host: equipo de punto de venta (POS) donde se encuentra la aplicación que interactúa con la impresora fiscal. Impresora: terminal de impresión 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 periférico 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: período transcurrido desde la última emisión de un informe Z. Memoria de trabajo: parte de la memoria del controlador fiscal no volátil, que permite múltiples accesos de lectura/escritura. En esta memoria se registran los totales diarios. Memoria fiscal: parte de la memoria del controlador fiscal no volátil, de acceso secuen-cial, donde se almacenan datos descriptivos de las transacciones fiscales. Precinto fiscal: un medio mecánico para conectar el gabinete fiscal a la impresora, de modo tal que se impida el acceso no autorizado a los componentes internos del controla-dor 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 operación, 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 emisión 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 auditoría: documento emitido por la impresora fiscal que muestra el contenido de la información almacenada en la memoria fiscal durante el pe-ríodo seleccionado. Status fiscal y Status impresora: campos de información alfanumérica que se incluyen en cada una de las respuestas de la impresora fiscal emite después 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 carácter 0x1B. Esta limitación asegura que la aplicación que utiliza la impreso-ra fiscal no pueda generar datos de gráficos. Para definir el tipo de letra se utilizan los ca-racteres 0xF0 a 0xFF, válidos únicamente para ser aplicados en algunos campos de los do-cumentos. Dentro de los campos definidos para la descripción de mercadería y texto en general, la palabra ”TOTAL” se convierte en “T#TAL”, con el fin de cumplir con la norma-tiva vigente.

Page 115: Seri Tick

Página 115 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.

Page 116: Seri Tick

Página 116 de 130

AAppéénnddiiccee 88:: CCaarraacctteerrííssttiiccaass ddee llaa ccoommuunniiccaa--cciióónn HHoosstt--CCoonnttrroollaaddoorr ffiissccaall

Comunicación half duplex sobre canal de comunicaciones serie asincrónico. Es decir, transmisión, recepción y tiempos de expiración por interrupciones. La características de la comunicación son:

Tipo: RS-232C Modo: Half duplex Datos: Palabra de 8 bits, sin paridad, 1 bit de stop

Las características del cableado del host son:

Conector DB9H

Pin Señal I/O

2 Transmit Data O 3 Receive Data I

5 Signal Ground

Conector DB25H Pin Señal I/O

2 Transmit Data O 3 Receive Data I

7 Signal Ground La salida del controlador fiscal tiene el siguiente cableado:

Conector DB9M

Pin Señal

2 Printer Receive Data 3 Printer Transmit Data 5 Signal Ground

Conector DB25M

Pin Señal

2 Printer Transmit Data 3 Printer Receive Data 7 Signal Ground Los datos intercambiados entre host y controlador fiscal son ASCII y el controlador fiscal responde sólo 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.

Page 117: Seri Tick

Página 117 de 130

AAppéénnddiiccee 99:: TTrraattaammiieennttoo ddee mmoonnttooss,, ccaannttii--ddaaddeess yy ppoorrcceennttaajjeess..

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 números decimales, las variables que corresponden a montos operan con cuatro dígitos 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 dígitos decimales (no obligato-rios) 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 números ente-ros. Las variables que corresponden a montos “contienen” nueve enteros y dos decimales, pero al tener que trabajar con números enteros, se encuentran multiplicadas por 100, es decir, con los dos decimales que le corresponden en el lugar de los dos dígitos 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 mul-tiplican por 100. Es decir: Montos: nnnnnnnnnnn y representa nnnnnnnnn,nn Cantidades: nnnnnnnnn y representa nnnnnn,nnn Porcentajes: nnnnnnnn y representa nn,nnnnnn Tasas ITBMS: nnnn y representa nn,nn Es importante decir, aunque sea evidente, que en este modo es obligatorio colocar los dí-gitos que representan los decimales, ya que si, por ejemplo quisiera escribir la cantidad 2 y escribiera “2”, en realidad se interpretaría como “0.002”. Por ende, debería haber es-crito “2000”. Si se trabaja en Modo Hasar, todos los enteros que se reciban serán tomados como tal sin decimal. Es decir, si envío 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 parámetro que admite dos decimales); si se quisiera escribir el entero 12345, debe-ría enviarse 1234500. Lo mismo vale para las respuestas; si se está trabajando en este

Page 118: Seri Tick

Página 118 de 130

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

Page 119: Seri Tick

Página 119 de 130

AAppéénnddiiccee 1100:: DDeessccrriippcciióónn ddee eerrrroorreess eenn llooss ccoommaannddooss

Si bien cada comando contiene la descripción de sus posibles errores, en esta sección se halla el listado completo de los mismos, para cada uno de los comandos.

DESCRIPCIÓN DE LOS MNEMÓNICOS UTILIZADOS EN LA DESCRIPCIÓN DE ERRORES EN LOS COMANDOS. ERROR_0: Error número 0 ERROR_1: Error número 1 ERROR_2: Error número 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 refe-rentes a documentos fiscales y no fiscales SELL_DF, PRINT_TEXT_DF, WAIT_CLOSE_DF, PRINT_TEXT_DNF. AUDIT_NEXT_TO_FULL: Cinta de auditoria electrónica casi llena: solo queda espacio para hacer un reporte global diario AUDIT_FULL: Cinta de auditoría electrónica llena.

3.1. Comandos de inicialización, baja y configuración 3.1.1. InitEpromFiscal – Inicialización Estado no válido* -> ERROR_0 Si hay error sintáctico en algunos de los parámetros del 1 al 6 -> ERROR_1 a ERROR_6 Clave de validación no válida -> ERROR_7 Ninguna de las 3 líneas de razón social es programada** -> ERROR_1 *estados no válidos: todos menos NO_INI **debe haber una como mínimo 3.1.2. KillEpromFiscal - Baja de la memoria fiscal Estado no válido* -> ERROR_0 CF ya ha sido dado de baja -> ERROR_0 Clave de validación no válida -> ERROR_2 Nro. de registro no válido o no coincide con el nro. de registro del CF -> ERROR_1 *estados no válidos: todos menos INI_JF, WAIT_KILL y AUDIT_FULL

Page 120: Seri Tick

Página 120 de 130

3.1.3. SetConfigCFData - Configuración controlador por parámetros Estado no válido* -> ERROR_0 Identificador de variable de configuración no válido -> ERROR_1 Valor a programar no válido** -> ERROR_2 Error al grabar las variables en HDD*** -> ERROR_92 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL **cada variable de configuración tiene sus valores válidos ***Se activa el bit 5 del Status Fiscal 3.1.4. StoreLogoData- Carga logotipo

Estado no válido* -> ERROR_0 Parámetro no corresponde con opción válida (I, F, C) -> ERROR_1 Si los parámetros de carga están fuera de secuencia (I,F,C - en ese orden) ->

ERROR_1 Si al hacer el ciere, no hay datos de imagen (imagen vacía) -> ERROR_1 Imagen del logo no cumple con las especificaciones -> ERROR_1 Si la fracción de imagen no es válida -> ERROR_2

*estados no válidos: todos menos INI_JF 3.1.5. ResetLogoData- Reset Logotipo

Estado no válido* -> ERROR_0

*estados no válidos: todos menos INI_JF 3.2. Comandos de diagnóstico y consulta 3.2.1. StatusExtra - Consulta extra de estado Nunca da error 3.2.2. GetConfigCFData - Consulta de configuración Estado no válido* -> ERROR_0 *estados no válidos: NO_INI, BLOCKED 3.2.3. GetSerial - Consulta parcial de datos de inicialización Estado no válido* -> ERROR_0 *estados no válidos: NO_INI, BLOCKED 3.2.4. GetPrinterVersion - Consulta de versión de controlador fiscal

Page 121: Seri Tick

Página 121 de 130

Nunca da error 3.2.5. Status_IF - Consulta de estado Error sintáctico en parámetro 1 -> ERROR_1 3.2.6. GetInitData - Consulta de datos de inicialización Estado no válido* -> ERROR_0 *estados no válidos: NO_INI, BLOCKED 3.3. Comandos de control fiscal 3.3.1 DailyClose - Cierre de jornada fiscal Estado no válido* -> ERROR_0 Identificador de reporte no es X o Z -> ERROR_1 Error sintáctico en parámetro 2 -> ERROR_2 *estados no válidos: todos menos INI_JF, EN_JF y AUDIT_NEXT_TO_FULL 3.3.2. Reporte de memoria fiscal - Consulta por fechas Estado no válido* -> ERROR_0

Fecha de inicio no válida -> ERROR_1 Fecha de fin no válida -> ERROR_2 Fecha de inicio posterior a fecha de fin -> ERROR_1 Calificador de tipo de reporte no válido -> ERROR_3 No hay datos del período solicitado -> ERROR_1

*estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL 3.3.3. Reporte de Memoria fiscal - Consulta por número de Z Estado no válido* -> ERROR_0 Nro. de Z de inicio <=0 -> ERROR_1 Nro. de Z de fin <=0 -> ERROR_2 Nro. de Z de inicio > nro. de Z de fin -> ERROR_1 No hay datos del período solicitado -> ERROR_1 Error sintáctico en parámetro 1 -> ERROR_1 Error sintáctico en parámetro 2 -> ERROR_2 Error sintáctico en parámetro 3 -> ERROR_3 *estados no validos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL 3.3.4. GetDailyReport - Reporte de registro diario

Page 122: Seri Tick

Página 122 de 130

Estado no válido* -> ERROR_0 Si el tipo de reporte no es válido (F/Z) -> ERROR_2 Error sintáctico en parámetro 1 -> ERROR_1 Error sintáctico en parámetro 2 -> ERROR_2 *estados no válidos: todos menos INI_JF, EN_JF , WAIT_KILL , KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL 3.3.5. GetWorkingMemory - Consulta de memoria RAM Estado no válido* -> ERROR_0 *estados no válidos: NO_INI y BLOCKED 3.4. Comandos de comprobante fiscal 3.4.1. OpenFiscalReceipt - Abrir comprobante fiscal Estado no válido* -> ERROR_0

Error sintáctico en algunos de los parámetros 1 a 7 -> ERROR_1 a ERROR_7 *estados no válidos: todos menos INI_JF y EN_JF 3.4.2. PrintFiscalText - Imprimir texto fiscal Estado no válido* -> ERROR_0 Se superó la máxima cantidad de líneas de texto fiscal (4) -> ERROR_0 Error sintáctico en parámetro 1 -> ERROR_1 *estados no válidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF 3.4.3. PrintLineItem - Imprimir ítem Estado no válido* -> ERROR_0 Error sintáctico en alguno de los parámetros 1 a 5 -> ERROR_1 a ERROR_5 Tasa no coincide con las programadas -> ERROR_4 Error en límites (> máximo del documento o < 0) -> ERROR_0** *estados no válidos: todos menos SELL_DF y PRINT_TEXT_DF **modifica status fiscal: comando no válido (bit 5) y desborde total (bit 6) 3.4.4. Subtotal

Estado no válido* -> ERROR_0 *estados no válidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF 3.4.5. TotalTender – Total

Page 123: Seri Tick

Página 123 de 130

Estado no válido* -> ERROR_0 Descripción no válida -> ERROR_1 Calificador = pago o bonificación y el monto no es válido -> ERROR_2 Calificador = descuento y el porcentaje no es válido (<0 o >100) -> ERROR_2 Calificador = descuento y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificación y estado fiscal es PRINT_TEXT_DF -> ERROR_0 Calificador = bonificación y tasa ITBMS no coincide con alguna existente -> ERROR_4 Calificador no válido -> ERROR_3

Calificador = descuento o bonificación y hay error en límites (> Máximo del docu-mento o < 0) -> ERROR_0** Error sintáctico en parámetro 2 -> ERROR_2 Error sintáctico en parámetro 4 -> ERROR_4

*estados no válidos: tofdos menos SELL_DF, PRINT_TEXT_DF, WAIT_CLOSE_DF **modifica status fiscal: comando no válido (bit 5) y desborde total (bit 6) 3.4.6. CloseFiscalReceipt - Cerrar comprobante fiscal Estado no válido* -> ERROR_0 Subtotal es cero** -> ERROR_0 Error sintáctico en parámetro 1 -> ERROR_1 *estados no válido: 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 válido* -> ERROR_0 *estados no válidos: todos menos INI_JF y EN_JF 3.5.2. PrintNonFiscalText - Imprimir texto no-fiscal Estado no válido* -> ERROR_0 *estados no válidos: todos menos PRINT_TEXT_DNF 3.5.3. CloseNonFiscalReceipt - Cerrar comprobante no-fiscal Estado no válido* -> ERROR_0 Error sintáctico en parámetro 1 -> ERROR_1 *estados no válidos: todos menos PRINT_TEXT_DNF 3.6. Comandos de alícuotas ITBMS. 3.6.1. SetIVARates - Programación Alícuotas ITBMS

Page 124: Seri Tick

Página 124 de 130

Estado no válido* -> ERROR_0 Categoría fiscal distinta de ordinario -> ERROR_0 No verifica clave de validación -> ERROR_4 Error de grabación / almacenamiento*** -> ERROR_92 Si no se especifica ITBMS Default y se -> ERROR_1 Especifica alguna de las otras dos. Tasa ITBMS1 inválida** -> ERROR_1 Tasa ITBMS2 inválida** -> ERROR_2 Tasa ITBMS3 inválida** -> ERROR_3 Tasa ITBMS4 inválida** -> ERROR_4 *estados no válidos: todos menos INI_JF **tasa inválida: < 0 , >100 , no numérica 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 Alícuotas ITBMS Programadas Estado no válido* -> ERROR_0 *estados no válidos: NO_INI y BLOCKED 3.7. Comando comunes a varios tipos de documentos 3.7.1. Cancel – Cancelación Estado no válido* -> ERROR_0 *estados no válidos: 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 línea es inválido* -> ERROR_1 * nº válidos: 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 válida -> ERROR_1 Hora no válida -> ERROR_2 Fecha y hora nuevas son anteriores a la actual -> ERROR_0 Ya se cambió fecha/hora (1 cambio por jornada) -> ERROR_0

Page 125: Seri Tick

Página 125 de 130

Estado no válido* -> ERROR_0 * estados no válidos: todos menos INI_JF 3.9.2. GetDateTime - Consultar fecha y hora Estado no válido* -> ERROR_0 *estado no válido: BLOCKED 3.9.3. SetHeader - Programar texto de encabezamiento facturas y documentos no fiscales Estado no válido -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI , BLOCKED y EST_DOC ** nº válidos: 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 válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI , BLOCKED y EST_DOC ** nº válidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal 3.9.5. GetHeader - Consultar texto de encabezamiento de facturas Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI y BLOCKED ** nº válidos: 0 a 10 3.9.6. GetTrailer - Consultar texto de cola de facturas Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI y BLOCKED * nº válidos: 0 a 10 3.9.7. SetCustExtraData - Programación de Datos adicionales del Comprador Estado no válido* -> ERROR_0

Page 126: Seri Tick

Página 126 de 130

Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI , BLOCKED, EST_DOC, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** nº válidos: 0 a 5 ***Se activa el bit 5 del Status Fiscal 3.9.8. GetCustExtraData - Consulta de Datos adicionales del Comprador Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI, BLOCKED, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** nº válidos: 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 - Programación de Líneas de Domicilio Fiscal Estado no válido -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 Si el texto es inválido -> ERROR_2 Si existe error de grabación /almacenamiento*** -> ERROR_92 *estados no válidos: NO INI , BLOCKED y EST_DOC **nº válidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal 3.12.2. GetFiscalAddress - Consulta de Líneas de Domicilio Fiscal Estado no válido* -> ERROR_0 Si nº de línea es inválido** -> ERROR_1 *estados no válidos: NO INI y BLOCKED * nº válidos: 0 a 10 3.13. Comandos de la memoria de auditoría 3.13.1. GetPublicKey - Leer clave pública

Page 127: Seri Tick

Página 127 de 130

Estado no válido* -> ERROR_0 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL 3.13.2. GetAuditRangeZNum - Obtener rango de cierres Z por números Estado no válido* -> ERROR_0 Fecha de inicio no válida -> ERROR_1 Fecha de fin no válida -> ERROR_2 Fecha de inicio posterior a fecha de fin -> ERROR_1 No hay informes Z en el rango -> ERROR_0 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL 3.13.3. GetAuditFirstBlock - Obtener primer bloque de registro de cinta de au-ditoría Estado no válido* -> ERROR_0 Nro. de Z de inicio <=0 o no válido -> ERROR_1 Nro. de Z de fin <=0 o no válido -> 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 válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL 3.13.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditoría Estado no válido* -> ERROR_0 Se pide NextBlock antes de pedir FirstBlock -> ERROR_0 *estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL 3.13.5. GetAuditSeqNum - Obtener número de secuencia actual de cinta de auditoría

Estado no válido* -> ERROR_0

*estados no válidos: todos menos INI_JF, EN_JF, WAIT_KILL, KILLED, AU-DIT_NEXT_TO_FULL y AUDIT_FULL

Page 128: Seri Tick

Página 128 de 130

AAppéénnddiiccee 1111:: MMaappaa ddee eerrrroorreess Valor Decimal Estado

0 Error general en ejecución de comando o comando no válido para es tado fiscal. 1 Error campo 1 2 Error campo 2 3 Error campo 3 4 Error campo 4 5 Error campo 5 n Error campo n (n<20) 31 Error al verificar comando 92 Error en los valores de la RAM

Page 129: Seri Tick

Página 129 de 130

AAppéénnddiiccee 1122:: TTrraattaammiieennttoo ddee llaass llíínneeaass ddee NNoommbbrree oo RRaazzóónn SSoocciiaall eenn OOppeennFFiissccaallRReecceeiipptt

Al estar este campo compuesto por 3 líneas de 42 caracteres cada una, el criterio que si-gue el software para la asignación de caracteres a cada línea es el siguiente: Al encontrar un espacio luego del cual existe una cadena continua superior al número de caracteres que le restan a la línea actual, se le asignan los caracteres a partir del espacio a la línea siguiente. Por Ejemplo: Si la cadena fuera: “La Anónima del Noroeste, Sociedad de Comercio” Coma la “r” de “Comercio” es el carácter número 42, y por ende no puede escribir la pa-labra completa en la primera línea, asignaría los caracteres de este modo: “La anónima del Noroeste, Sociedad de” “Comercio” En el caso de que la cantidad de caracteres de la cadena sea superior a la máxima, o bien que por efectuar el mecanismo de salto de línea recién descrito los últimos caracteres queden fuera del espacio disponible (tener en cuenta que al saltar de línea, los caracteres que restan para completar los 42 de esa línea se pierden como disponibles), se truncará la cadena como muestra el siguiente ejemplo: Si la cadena fuera: “La Anónima del Noroeste, Sociedad de Comercio y Desarrollo de la Producción y el Em-pleo en el rubro alimenticio de la ciudad de Valle Bermejo” Quedaría asignada de la siguiente forma: “La Anónima del Noroeste, Sociedad de” “Comercio y Desarrollo de la Producción y” “el Empleo en el rubro alimenticio de la ci” Véase que la “e” de “el Empleo” es el carácter número 42 de la segunda línea, y por eso toda la palabra “el” quedó en la línea siguiente. Además, por ser la cadena mayor al es-pacio máximo asignado, esta quedó truncada al final.

Page 130: Seri Tick

Página 130 de 130

Mayo 13, 2011 – Rev. 001 COPYRIGHT © 2008/2011 - CÍA. HASAR SAIC _ El presente documento se halla sujeto a cambios sin previo aviso.

_ Cía. 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 información pudiera causar.

_ Este documento no puede ser reproducido, total o parcialmente, ni almacenado para su pos-

terior reproducción por cualquier método o medio, sin autorización escrita de Cía. HASAR SAIC.