Sunteți pe pagina 1din 129

Descripcin de comandos Impresoras modelo SMH/PT-250FPA

Para uso con drivers para impresoras fiscales Hasar

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

3. DESCRIPCIN DE LOS COMANDOS---------------------------------------------------------------------------------------- 18 3.1. COMANDOS DE INICIALIZACIN, BAJA Y CONFIGURACIN ------------------------------------------------------------------ 18 3.1.1. InitEpromFiscal Inicializacin---------------------------------------------------------------------------------------- 18 3.1.2. KillEpromFiscal - Baja de la memoria fiscal-------------------------------------------------------------------------- 21 3.1.3. SetConfigCFData - Config. del controlador por parmetros ------------------------------------------------------- 22 3.1.4. StoreLogoData - Carga logotipo---------------------------------------------------------------------------------------- 25 3.1.5. ResetLogoData - Reset logotipo----------------------------------------------------------------------------------------- 27 3.1.6. SetFantasy - Programacin Texto Nombre Comercial--------------------------------------------------------------- 28 3.1.7. SetComSpeed - Seteo de velocidad de comunicacin----------------------------------------------------------------- 29 3.2. COMANDOS DE DIAGNSTICO Y CONSULTA----------------------------------------------------------------------------------- 30 3.2.1. StatusExtra - Consulta extra de estado--------------------------------------------------------------------------------- 30 3.2.2. GetConfigCFData - Consulta de configuracin ---------------------------------------------------------------------- 33 3.2.3. GetSerial - Consulta parcial de datos de inicializacin-------------------------------------------------------------- 35 3.2.4. GetPrinterVersion - Consulta de versin de controlador fiscal----------------------------------------------------- 36 3.2.5. GetInitData - Consulta de datos de inicializacin -------------------------------------------------------------------- 37 3.2.6. GetFantasy - Consulta Texto Nombre Comercial--------------------------------------------------------------------- 39 3.3. COMANDOS DE CONTROL FISCAL ---------------------------------------------------------------------------------------------- 40 3.3.1. DailyClose Reporte Z/Reporte X -------------------------------------------------------------------------------------- 40 3.3.2. Reporte de memoria fiscal Consulta por fecha---------------------------------------------------------------------- 44 3.3.3. Reporte de memoria fiscal - Consulta por Nmero de Reporte Z--------------------------------------------------- 46 3.3.4. GetDailyReport - Reporte de registro diario -------------------------------------------------------------------------- 48 3.3.5. GetWorkingMemory - Consulta de memoria RAM ------------------------------------------------------------------- 52 3.4. COMANDOS DE COMPROBANTE FISCAL ---------------------------------------------------------------------------------------- 55 3.4.1. OpenFiscalReceipt - Abrir comprobante fiscal ----------------------------------------------------------------------- 55 3.4.2. PrintFiscalText - Imprimir texto en comprobante fiscal ------------------------------------------------------------- 57 3.4.3. PrintLineItem - Imprimir tem en comprobante fiscal---------------------------------------------------------------- 59 3.4.4. Subtotal --------------------------------------------------------------------------------------------------------------------- 62 3.4.5. TotalTender Pago/Cancelacin/Descuento en DF ----------------------------------------------------------------- 64 3.4.6. CloseFiscalReceipt - Cerrar comprobante fiscal --------------------------------------------------------------------- 67 3.5. COMANDOS DE COMPROBANTE NO-FISCAL ----------------------------------------------------------------------------------- 69 3.5.1. OpenNonFiscalDocument Apertura de Documento No Fiscal---------------------------------------------------- 69 3.5.2. PrintNonFiscalText Impresin de Texto en Documento No Fiscal----------------------------------------------- 70 3.5.3. CloseNonFiscalReceipt - Cerrar comprobante no-fiscal ------------------------------------------------------------ 71 3.6. COMANDOS DE ALCUOTAS ITBMS ------------------------------------------------------------------------------------------- 73 3.6.1. SetITBMSRates - Programacin de Alcuotas ITBMS---------------------------------------------------------------- 73 3.6.2. GetITBMSRates - Consulta de Alcuotas ITBMS programadas----------------------------------------------------- 75 3.7. COMANDOS COMUNES A VARIOS TIPOS DE DOCUMENTOS ------------------------------------------------------------------- 76 3.7.1. Cancel Cancelacin general de Documentos ----------------------------------------------------------------------- 76 3.7.2. SetBarCode - Cdigo de barras ----------------------------------------------------------------------------------------- 77
Pgina 2 de 129

3.8. COMANDOS DE CONTROL DE LA IMPRESORA --------------------------------------------------------------------------------- 79 3.8.1. FeedReceipt - Avanzar papel de recibo -------------------------------------------------------------------------------- 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 - Obtener fecha y hora ----------------------------------------------------------------------------------- 82 3.9.3. SetHeader - Programacin Texto Encabezado Documentos -------------------------------------------------------- 83 3.9.4. SetTrailer - Programacin Texto Pie Documentos ------------------------------------------------------------------- 85 3.9.5. GetHeader - Consulta Texto Encabezado Documentos -------------------------------------------------------------- 87 3.9.6. GetTrailer - Consulta Texto Pie Documentos ------------------------------------------------------------------------- 88 3.9.7. SetCustExtraData - Programacin Datos Adicionales del Comprador ------------------------------------------- 89 3.9.8. GetCustExtraData - Consulta Datos Adicionales del Comprador ------------------------------------------------- 91 3.10. COMANDOS DE GAVETA DE DINERO ------------------------------------------------------------------------------------------ 92 3.10.1. OpenDrawer1 - Abrir gaveta 1 de dinero ---------------------------------------------------------------------------- 92 3.10.2. OpenDrawer2 - Abrir gaveta 2 de dinero ---------------------------------------------------------------------------- 93 3.11. COMANDOS DE DOMICILIO FISCAL ------------------------------------------------------------------------------------------- 94 3.11.1. SetFiscalAddress - Programacin de lneas de Domicilio Fiscal ------------------------------------------------- 94 3.11.2. GetFiscalAddress - Consulta de lneas de Domicilio Fiscal ------------------------------------------------------- 96 3.11.3. GetDocNumZRange - Consulta de cierre zeta en el que fue emitido un determinado comprobante---------- 97 3.12. COMANDOS DE LA MEMORIA DE AUDITORA. ------------------------------------------------------------------------------- 98 3.12.1. GetPublicKey - Leer clave pblica ------------------------------------------------------------------------------------ 98 3.12.2. GetAuditRangeZNum - Obtener rango de cierres Z por nmeros------------------------------------------------- 99 3.12.3. GetAuditFirstBlock - Obtener primer bloque de registro de cinta de auditora-------------------------------- 100 3.12.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditora ----------------------------- 101 3.12.5. GetAuditSeqNum - Obtener nmero de secuencia actual de cinta de auditora-------------------------------- 102 4. DOCUMENTOS-------------------------------------------------------------------------------------------------------------------- 103 4.1. FACTURA ------------------------------------------------------------------------------------------------------------------------ 103 APNDICES --------------------------------------------------------------------------------------------------------------------------- 104 APNDICE 1: TIPO DE LETRA. ------------------------------------------------------------------------------------------------- 104 APNDICE 2: STATUS FISCAL-------------------------------------------------------------------------------------------------- 105 APNDICE 3: STATUS IMPRESORA ------------------------------------------------------------------------------------------ 107 APNDICE 4: STATUS AUXILIAR---------------------------------------------------------------------------------------------- 108 APNDICE 5: STATUS DE DOCUMENTO------------------------------------------------------------------------------------ 109 APNDICE 6: MANEJO DEL ITBMS------------------------------------------------------------------------------------------- 110 6.1. ESTRUCTURA DE LA TABLA DE ITBMS -------------------------------------------------------------------------------------- 110 6.2. CLCULO DEL MONTO DEL ITBMS EN LOS RECARGOS O DESCUENTOS SOBRE EL SUBTOTAL ------------------------- 110 6.3. IMPRESIN DE LAS LNEAS CORRESPONDIENTES A DESCUENTOS (O RECARGOS) ---------------------------------------- 110 APNDICE 7: TERMINOLOGA ------------------------------------------------------------------------------------------------ 112 APNDICE 8: CARACTERSTICAS DE LA COMUNICACIN HOST-CONTROLADOR FISCAL ----------- 114 APNDICE 9: TRATAMIENTO DE MONTOS, CANTIDADES Y PORCENTAJES. -------------------------------- 115 APNDICE 10: DESCRIPCIN DE ERRORES EN LOS COMANDOS------------------------------------------------- 117 APNDICE 11: MAPA DE ERRORES ------------------------------------------------------------------------------------------ 127 APNDICE 12: TRATAMIENTO DE LAS LNEAS DE NOMBRE O RAZN SOCIAL EN OPENFISCALRECEIPT ------------------------------------------------------------------------------------------------------------ 128

Pgina 3 de 129

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

Pgina 4 de 129

1.1. Memoria fiscal


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

Fecha Ultima Factura Hora Ultima Factura Nmero Ultima Factura Nmero Ultima Nota de Dbito Cantidad de Notas de Dbito Nmero Ultima Nota de Crdito Cantidad de Notas de Crdito Nmero Ultimo Documentos No Fiscales Cantidad de Documentos No Fiscales Nmero Ultimo Reporte de Auditora Monto exento Facturas y Notas de Dbito Monto exento Notas de Crdito Alcuota ITBMS1 Neto sin ITBMS1 Facturas y Notas de Dbito Impuesto Venta ITBMS1 Fact. y Notas de Dbito Impuesto Desc/Bonif ITBMS1 Fact. y Notas de Dbito Neto sin ITBMS1 General Notas de Crdito Impuesto Venta ITBMS1 Notas de Crdito Impuesto Desc/Bonif ITBMS1 Notas de Crdito Alcuota ITBMS2 Neto sin ITBMS2 Facturas y Notas de Dbito Impuesto Venta ITBMS2 Fact. y Notas de Dbito Impuesto Desc/Bonif ITBMS2 Fact. y Notas de Dbito Neto sin ITBMS2 Notas de Crdito Impuesto Venta ITBMS2 Notas de Crdito Impuesto Desc/Bonif ITBMS2 Notas de Crdito Alcuota ITBMS3 Neto s/ IVA ITBMS3 Facturas y Notas de Dbito Impuesto Venta ITBMS3 Fact. y Notas de Dbito Impuesto Desc/Bonif ITBMS3 Fact. y Notas de Dbito Neto sin IVA ITBMS3 Notas de Crdito Impuesto Venta ITBMS3 Notas de Crdito Impuesto Desc/Bonif ITBMS3 Notas de Crdito Alcuota ITBMS4 Neto s/ IVA ITBMS4 Facturas y Notas de Dbito Impuesto Venta ITBMS4 Fact. y Notas de Dbito Impuesto Desc/Bonif ITBMS4 Fact. y Notas de Dbito Neto sin IVA ITBMS4 Notas de Crdito Impuesto Venta ITBMS4 Notas de Crdito Impuesto Desc/Bonif ITBMS4 Notas de Crdito Monto total Desc/Bonif en Fact. y Notas de Dbito Monto total Desc/Bonif en Notas de Crdito Monto Total de Ventas en Fact. y Notas de Dbito Monto Total de Ventas en Notas de Crdito

Registro relativo a la baja del controlador fiscal. Este es un registro que se llena cuando el controlador fiscal es dado de baja por la autoridad fiscal mediante el comando KillEpromFiscal. Una vez que se ha llenado este registro la memoria EPROM no puede volver a utilizarse y debe ser cambiada, aunque s pueden seguirse leyendo los datos almacenados en ella.
Pgina 6 de 129

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

Pgina 7 de 129

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

Pgina 8 de 129

1.4. Corte en la alimentacin elctrica


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

1.5. Estados de la impresora


Un estado se puede definir como la configuracin de informacin de un equipo, en este caso, la impresora fiscal. Las impresoras fiscales referenciadas en este manual tienen tres estados: - Estado No Inicializado - Modo Entrenamiento - Modo Fiscal Cuando la impresora fiscal sale de fbrica se encuentra en Estado No Inicializado. En este estado, la impresora no acepta ningn comando, excepto el de inicializacin. Mediante el comando de inicializacin ejecutado en Estado No Inicializado se puede acceder a otros dos estados: el Modo Entrenamiento y el Modo Fiscal (ver comando de inicializacin para detalles).

Pgina 9 de 129

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

Pgina 10 de 129

2. Comandos Fiscales
2.1. Estructura de los comandos
Los comandos fiscales usados para comunicacin entre el driver de la impresora fiscal y el host deben responder al siguiente formato de string: ID FS Campo FS Cant. Bytes 1 1 n Campo ..

Descripcin Cdigo de identificacin del comando fiscal, representado mediante una caracter ASCII (por ejemplo, "Y" para pedir la fecha/hora fiscal). Field Separator (ASCII 28). Separador de campos del comando Parmetro requerido por el comando fiscal. (El par FS y Campo pueden repetirse varias veces de acuerdo al tipo de comando envado).

ID FS Campo

En caso de optar por el uso del driver de dispositivo fiscal.sys y/o el driver fiscal lptfis.exe, a continuacin del ltimo caracter del string de comando debe agregarse una caracter ASCII a modo de terminador, el cual puede ser: NEWLINE (ASCII 10) o CARRIAGE RETURN (ASCII 13). En caso de optar por el uso de libreras (fiscal.lib, winfis32.dll, etc.), o utilitarios externos (wspooler.exe, etc.), no se requiere el uso del caracter terminador del string de comando.

Pgina 11 de 129

2.2. Campos de los comandos


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

2.2.2. Longitud de los campos


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

Pgina 12 de 129

2.2.3. Campos vacos


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

2.2.4. Campos de montos


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

2.2.5. Cantidades
El campo correspondiente a las cantidades tiene un formato con 10 decimales con las siguientes caractersticas: - No es necesario llenar los diez lugares decimales. S es obligatorio indicar el punto decimal y, al menos, un dgito decimal aunque ste sea cero. - En el modelo SMH/PT-250FPA, el campo de las cantidades tiene hasta siete dgitos (solamente 4 en modelos y versiones anteriores), incluyendo el punto decimal. El punto decimal es mvil y el uso del signo ms o menos es optativo. En todos los casos se pueden ingresar los 10 dgitos decimales mencionados en el punto anterior, pero en la factuPgina 13 de 129

ra slo se imprimirn hasta diez caracteres con redondeo. Por ejemplo, los valores siguientes son vlidos: -999999; 999999, 123456.1234567890 (en la factura se imprime 123456.123), 0.1234567890 (en la factura se imprime 0.12346789). Debido a lo anterior -y al procedimiento de redondeo- es posible que, en el caso de productos pesables, el resultado de multiplicar la cantidad (el peso) impresa en la factura por el valor unitario del artculo difiera, en algn decimal, con el valor impreso de la venta y en la misma factura. El uso de cantidades (pesos) con 10 decimales es una respuesta a la variedad de balanzas de distintas caractersticas existentes en plaza y, de acuerdo a la experiencia recogida por Compaa Hasar, resulta la solucin ms satisfactoria.

2.2.6. Campos con texto


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

2.2.7 Descripcin de errores de los comandos


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

Lo cual representa que en cada comando, al ocurrir un error en algn campo del comando enviado (simbolizado por N), detrs del status de la impresora y el status fiscal presentes en las respuestas (ver ejemplos) se enva la cadena de caracteres ERROR N, en lugar del resto de la respuesta habitual. Por ejemplo, para un comando genrico una respuesta normal sera: [Status impresora][Status fiscal][Campos restantes de la respuesta]
Pgina 14 de 129

Ahora supongamos que en el comando enviado ocurri un error en el campo 1. La respuesta obtenida en este caso sera: [Status impresora][Status fiscal]1ERROR 1 Ntese que antes de la cadena correspondiente se da el nmero del campo donde ocurri el error.

Pgina 15 de 129

2.3. Clasificacin de los comandos


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

Pgina 16 de 129

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

Pgina 17 de 129

3. Descripcin de los comandos


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

- Acceso al Modo Fiscal desde Estado No Inicializado: Debe enviarse el presente comando completo, es decir, con todos sus campos llenos.

C O M A N D O: Longitud 1 1 46 1 46 1 46 1 30 1 2 1 13 1 46 1 46 1 46 1 2 1 4 Descripcin 0xb0 (ASCII 176) FS Lnea 1 de Razn Social del Contribuyente FS Lnea 2 de Razn Social del Contribuyente FS Lnea 3 de Razn Social del Contribuyente FS Nde Registro nico de Contribuyente (RUC) FS N de DV de Contribuyente FS Nde Registro de la Impresora FS Lnea 1 de Razn Social del Distribuidor FS Lnea 2 de Razn Social del Distribuidor FS Lnea 3 de Razn Social del Distribuidor FS N de DV de Distribuidor (DV) FS Clave de validacin Tipo A A A A A A A A A A H

Ejemplo: Supermercado GARCA HNOS SAde Jos y PedroGarca682073-1-464676 DV3335HHHPP0000001Ramos General S.A.43O6804

Pgina 19 de 129

R E S P U E S T A: Longitud Descripcin 4 Status de la Impresora: datos en ASCII 1 FS 4 Status fiscal:datos en ASCII Ejemplo: 00800600 FS (separador de campo) = ASCII 28 Tipo H H

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

Pgina 20 de 129

3.1.2. KillEpromFiscal - Baja de la memoria fiscal


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

Ejemplo: HHHHPP00000006804 R E S P U E S T A: Longitud Descripcin 4 Status de la Impresora: datos en ASCII 1 FS 4 Status fiscal:datos en ASCII Ejemplo: 00800600 Errores que puede presentar este comando: Estado no vlido* -> CF ya ha sido dado de baja -> Clave de validacin no vlida -> Nro. de registro no vlido o no coincide con el nro. de registro del CF -> *estados no vlidos: todos menos INI_JF, AUDIT_FULL y WAIT_KILL ERROR_0 ERROR_0 ERROR_2 ERROR_1 Tipo H H

Pgina 21 de 129

3.1.3. SetConfigCFData - Config. del controlador por parmetros


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

Pgina 22 de 129

C O M A N D O: Longitud 1 1 1 Descripcin d (ASCII 100) FS Parmetro a modificar 1: Tipo de corte del papel de facturas 2: Calificador de precio de venta 3: Calificador de formato de montos, cantidades y porcentajes. 4: Cadena de caracteres del Signo Monetario 5: Tipo de Display 6: Reservado 7: Impresin de ajuste por redondeo FS Valor del parmetro Parmetro 1 F: corte total P: corte parcial N: no corta Parmetro 2 T: precio total (incluye el impuesto) Otro: precio base (no incluye el impuesto) Parmetro 3 M: montos, cantidades y porcentajes originales modificados Otro: montos, cantidades y porcentajes originales sin modificar Parmetro 4 Texto libre de 1 caracter mnimo y hasta 5 caracteres mximo Parmetro 5 O: Display original Otro: Display nuevo Parmetro 7 P: Imprime siempre F: Imprime al final Otro: no imprime Parmetro 8 0: No da aviso de retraso de RTC 1: Aviso de retraso 2: Aviso de retraso por reporte impreso 3: Aviso de retraso por bit de estado fiscal y reporte impreso Tipo A

1 1

Ejemplo: d1P R E S P U E S T A: Longitud Descripcin 4 Status de la Impresora: datos en ASCII 1 FS 4 Status fiscal:datos en ASCII Tipo H H
Pgina 23 de 129

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

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

Pgina 24 de 129

3.1.4. StoreLogoData - Carga logotipo


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

Ejemplo: I7CCFCCFF9FF3CF3199FF3CFBFF0067EF7EFE7FCFFF3CF3BFF3F300679E7EFFFFFFFFFFFFF FFFFFFF000FFFFFF8001FFFFFFE0007FFFFFFFC000FFFFFF000FFFF R E S P U E S T A: Longitud Descripcin 4 Status de la impresora: datos en ASCII 1 FS 4 Status fiscal: datos en ASCII Ejemplo: C0800600 Tipo H H

Pgina 25 de 129

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

Pgina 26 de 129

3.1.5. ResetLogoData - Reset logotipo


Este comando slo puede ser ejecutado inmediatamente despus de emitido el comando de cierre de jornada fiscal. C O M A N D O: Longitud 1 (ASCII 145) Ejemplo: R E S P U E S T A: Longitud Descripcin 4 Status de la impresora: datos en ASCII 1 FS 4 Status fiscal: datos en ASCII Ejemplo: C0800600 Errores que puede presentar este comando: Estado no vlido* *estados no vlidos: todos menos INI_JF -> ERROR_0 Tipo H H Descripcin Tipo

Pgina 27 de 129

3.1.6. SetFantasy - Programacin Texto Nombre Comercial


Programa o borra la lnea de texto correspondiente al nombre comercial del usuario. Este comando debe ser ejecutado inmediatamente luego de haber realizado un cierre Z (ver DailyClose) C O M A N D O: Longitud 1 ^ (ASCII 92) 1 FS 1 Nmero de lnea (1-1) 0: borra 1 FS 46 Texto de hasta 46 caracteres Ejemplo: \1Supermercado Pepe R E S P U E S T A: Longitud Descripcin 4 Status de la impresora: datos en ASCII 1 FS 4 Status fiscal: datos en ASCII Ejemplo: C0800600 Tipo H H Descripcin Tipo N T

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

ERROR_0 ERROR_1 ERROR_2 ERROR_92

Pgina 28 de 129

3.1.7. SetComSpeed - Seteo de velocidad de comunicacin


Establece la velocidad de comunicacin entre el host y el controlador fiscal. En caso de no emitirse este comando, el valor por defecto es de 9.600 bps. C O M A N D O: Longitud Descripcin 1 a6H 1 FS 6 Velocidad de comunicacin 1200 : 1.200 bps 2400 : 2.400 bps 4800 : 4.800 bps 9600 : 9.600 bps (valor por defecto) 14400 : 14.400 bps 19200 : 19.200 bps 38400 : 38.400 bps 57600 : 57.600 bps 115200 : 115.200 bps Ejemplo: 1200 R E S P U E S T A: Longitud 1 1 4 1 4 Descripcin a6H FS Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII Tipo H H Tipo N

Ejemplo: C0800600 Errores que puede presentar este comando: Estado no vlido Si velocidad es invlida *estados no vlidos: Todos excepto INI_JF y EN_JF

-> ->

ERROR_0 ERROR_1

Pgina 29 de 129

3.2. Comandos de diagnstico y consulta


3.2.1. StatusExtra - Consulta extra de estado
Responde, a travs de la lnea serie conectada al host, con el estado en que se encuentra el controlador fiscal y el hardware de la impresora. Los nmeros de ltimo documento no corresponden a comprobantes acumulados -ya cerrados-. Esta alternativa es particularmente util para consultar y obtener el nmero de un comprobante cuando el mismo est siendo emitido. Nota: El significado de la respuesta de los campos Status de la impresora, Status fiscal, Status auxiliar y Status de documento se describe en los Apndices 2, 3, 4 y 5. C O M A N D O: Longitud 1 *(ASCII 42) Ejemplo: * R E S P U E S T A: Longitud 4 1 4 1 4 1 4 1 2 1 2 1 4 1 8 1 8 1 8 1 8 1 8 Descripcin Status de la impresora:datos en ASCII FS Status fiscal: datos en ASCII FS Status auxiliar: datos en ASCII FS Status documento: datos en ASCII FS ltimo valor de secuencia (0x20 a 0x7F) FS Cdigo ltimo comando ejecutado con xito (2 bytes hexa) FS Nmero de ltimo Reporte Z emitido FS N ltima Factura emitida FS N ltima Nota de Dbito emitida FS N ltima Nota de Crdito emitida FS N ltimo Documento No Fiscal emitido FS Nmero de ltimo Reporte X emitido Tipo H H N N A A N N N N N N
Pgina 30 de 129

Descripcin

Tipo

1 8

FS Nmero de ltimo Reporte de Auditora emitido

Ejemplo: 00800600000000002157120789052354665

Pgina 31 de 129

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

*estados no vlidos: NO_INI, BLOCKED

Pgina 32 de 129

3.2.2. GetConfigCFData - Consulta de configuracin


Responde, a travs de la lnea serie, con los parmetros de configuracin con los que opera el controlador fiscal. No afecta la memoria de trabajo. C O M A N D O: Longitud 1 f(ASCII 102) Ejemplo: f R E S P U E S T A: Longitud 4 1 4 1 1 Descripcin Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Tipo de corte del papel de factura F: corte total P: corte parcial N: no corta FS Calificador de precio de venta T: precio total (incluye el impuesto) B: precio base (no incluye el impuesto) FS Calificador de formato de montos, cantidades y porcentajes M: montos, cantidades y porcentajes originales modificados O: montos, cantidades y porcentajes originales sin modificar Cadena de caracteres del Signo Monetario Tipo de display utilizado O: Display original Otro: Display nuevo Impresin de ajuste por redondeo P: imprime siempre F: imprime al final Otro: no imprime Tipo H H A Descripcin Tipo

1 1

1 1-5 1 1

A A A A

Ejemplo: 00800600PBMOP Errores que puede presentar este comando: Estado no vlido* -> ERROR_0
Pgina 33 de 129

*estados no vlidos: NO_INI, BLOCKED

Pgina 34 de 129

3.2.3. GetSerial - Consulta parcial de datos de inicializacin


Responde, a travs de la lnea serie, con el nmero de registro (serial) y el nmero de registro nico de Contribuyente (RUC) de la impresora, almacenados en memoria EPROM fiscal durante la inicializacin. No altera la memoria de trabajo. C O M A N D O: Longitud 1 (ASCII 128) Ejemplo: Descripcin Tipo

R E S P U E S T A: Longitud 4 1 4 1 13 1 30 Descripcin Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Nmero de registro de la impresora FS Nmero de Registro nico de Contribuyente (RUC) Tipo H H A A

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

*estados no vlidos: NO_INI, BLOCKED

Pgina 35 de 129

3.2.4. GetPrinterVersion - Consulta de versin de controlador fiscal


Responde, a travs de la lnea serie, con el modelo y versin del controlador fiscal.

C O M A N D O: Formato del string Longitud 1 Ejemplo: Descripcin (ASCII 127) Tipo

R E S P U E S T A: Formato del string Longitud 4 1 4 1 35 Ejemplo: Descripcin Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Versin: SMH/PT-250FPA - Versin 1.00 00800600SMH/PT-250FPA Versin 1.00 Tipo H H A

Este comando nunca da error.

Pgina 36 de 129

3.2.5. GetInitData - Consulta de datos de inicializacin


Responde, a travs de la lnea serie, conlos datos almacenados en memoria EPROM durante la inicializacin. No altera la memoria de trabajo C O M A N D O: Longitud 1 Ejemplo: s Descripcin s (ASCII 115) Tipo

R E S P U E S T A: Formato del string Longitud 4 1 4 1 46 1 46 1 46 1 30 1 2 1 13 1 46 1 46 1 46 1 30 1 2 Descripcin Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Lnea 1 de Razn Social del Contribuyente FS Lnea 2 de Razn Social del Contribuyente FS Lnea 3 de Razn Social del Contribuyente FS N de Registro nico de Contribuyente (RUC) FS N de DV de Contribuyente FS N de Registro de la Impresora FS Lnea 1 de Razn Social del Distribuidor FS Lnea 2 de Razn Social del Distribuidor FS Lnea 3 de Razn Social del Distribuidor FS N de Registro nico de Contribuyente (RUC) FS N de DV de Distribuidor (DV) Tipo H H A A A A A A A A A A A

Ejemplo: 00800600Garay Hnos.Av Independencia 124(1245) 00119470001022956248HHX1234567Distribuidora Jos682073146467612

Pgina 37 de 129

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

*estados no vlidos: NO_INI, BLOCKED

Pgina 38 de 129

3.2.6. GetFantasy - Consulta Texto Nombre Comercial


Devuelve la lnea de texto correspondiente al nombre comercial del usuario que est programada en la impresora (ver SetFantasy) C O M A N D O: Longitud Descripcin 1 (ASCII 153) 1 FS 1 Nmero de lnea de encabezamiento (1-1) Ejemplo: 1 R E S P U E S T A: Longitud 4 1 4 1 46 Descripcin Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres Tipo H H A Tipo

Pgina 39 de 129

3.3. Comandos de control fiscal


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

Pgina 40 de 129

R E S P U E S T A: Longitud 4 1 4 1 4 1 6 1 6 1 6 1 6 1 8 1 5 1 12 1 8 1 5 1 12 1 8 1 5 1 12 1 8 1 5 1 8 1 8 1 12 1 12 1 5 1 Descripcin Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII FS Nmero del ltimo Reporte Z emitido FS Fecha de inicio del cierre reportado (Z / X) FS Hora de inicio del cierre reportado (Z / X) FS Fecha de cierre del cierre reportado (Z / X) FS Hora de cierre del cierre reportado (Z / X) FS Nmero de ltima Factura emitida FS Cantidad de Facturas emitidas (Z / X) FS Monto total (BI) de ventas de Facturas (Z / X) FS Nmero de ltima Nota de Dbito emitida (Z / X) FS Cantidad de Notas de Dbito emitidas (Z / X) FS Monto total (BI) de ventas de Notas de Dbito (Z / X) FS Nmero de ltima Nota de Crdito emitida (Z / X) FS Cantidad de Notas de Crdito emitidas (Z / X) FS Monto total (BI) de ventas de Notas de Crdito (Z / X) FS Nmero de ltimo Documento No Fiscal emitido FS Cantidad de Documentos No Fiscales emitidos (Z / X) FS Nmero de ltimo Reporte X emitido FS Nmero de ltimo Reporte de Auditora emitido FS Monto total (BI) de ventas gravadas (FA + ND NC) (Z / X) FS Monto total (BI) de ventas no gravadas (FA + ND NC) (Z / X) FS Cantidad de Devoluciones (FA + ND + NC) (Z / X) FS Tipo H H N N N N N N N N N N N N N N N N N N N N N
Pgina 41 de 129

12 1 5 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 5 1 12 1 5 1 12 1 5 1 12 1 5 1 12

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

N N N N

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

Pgina 42 de 129

Ejemplo: 00800600180,00255,0053,550,000,00129,0024,05071002200,0021,00 0,000,00100,007,00 Errores que puede presentar este comando: Estado no vlido* Identificador de reporte no es X o Z Error sintctico en parmetro 2 -> -> -> ERROR_0 ERROR_1 ERROR_2

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

Pgina 43 de 129

3.3.2. Reporte de memoria fiscal Consulta por fecha


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra Permite generar un reporte que incluye los diferentes cierres diarios que han sido almacenados en la memoria fiscal durante el periodo de fechas seleccionado. El reporte puede ser detallado o un resumen mensual. Opciones: Calificador de Tipo de reporte solicitado G: reporte global. Otro: reporte individual. Utilizando el calificador de comando con la opcin G el reporte impreso incluye un bloque de informacin con la suma de los acumulados del perodo solicitado. Utilizando otro calificador de comando cualquiera, el reporte impreso contiene un bloque de informacin por cada cierre Z efectuado dentro del perodo solicitado. C O M A N D O: Longitud 1 1 6 1 6 1 1 Descripcin : (ASCII 58) FS Fecha inicial del perodo (formato AAMMDD) FS Fecha final del perodo (formato AAMMDD) FS Tipo de reporte G: reporte global. Otro: reporte individual Tipo D D A

Ejemplo: :070827070829G

Pgina 44 de 129

R E S P U E S T A: Formato del string Longitud 4 1 4 Ejemplo: Descripcin Status de la impresora FS Status fiscal 00800600 Tipo H H

Errores que puede presentar este comando: Estado no vlido* Fecha de inicio no vlida Fecha de fin no vlida Fecha de inicio posterior a fecha de fin Calificador de tipo de reporte no vlido No hay datos del perodo solicitado -> -> -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_3 ERROR_1

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

Pgina 45 de 129

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


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Permite generar un reporte conformado por los acumulados correspondientes a cada cierre diario 'Z', dentro del rango solicitado. Opciones: Calificador de Tipo de reporte solicitado G: reporte global. Otro: reporte individual. Utilizando el calificador de comando con la opcin G el reporte impreso incluye un bloque de informacin con la suma de los acumulados del rango solicitado. Utilizando otro calificador de comando cualquiera, el reporte impreso contiene un bloque de informacin por cada cierre Z efectuado dentro del rango solicitado.

C O M A N D O: Formato del string Longitud 1 1 4 1 4 1 1 Descripcin ; (ASCII 59) FS Nmero de Z inicial del perodo FS Nmero de Z final del perodo FS Tipo de reporte G: reporte global Otro: reporte individual Tipo N N A

Ejemplo: ;13800G R E S P U E S T A: Formato del string Longitud 4 1 4 Ejemplo: Descripcin Status de la impresora FS Status fiscal 00800600 Tipo H H

Pgina 46 de 129

Errores que puede presentar este comando: Estado no vlido* Nro. de Z de inicio <=0 Nro. de Z de fin <=0 Nro. de Z de inicio > nro. de Z de fin No hay datos del perodo solicitado Error sintctico en parmetro 1 Error sintctico en parmetro 2 Error sintctico en parmetro 3 -> -> -> -> -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_1 ERROR_1 ERROR_1 ERROR_2 ERROR_3

*estados no validos: todos menos INI_JF, EN_JF , WAIT_KILL, KILLED, AUDIT_NEXT_TO_FULL y AUDIT_FULL

Pgina 47 de 129

3.3.4. GetDailyReport - Reporte de registro diario


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Enva por el canal serie los datos correspondientes a uno de los registros diarios almacenados en la memoria fiscal, de acuerdo con lo siguiente: a. Si en los bytes dedicados a nmero de Z o fecha se ingresa un nmero de Z (hasta cuatro dgitos; valor mximo 1900), enva los datos correspondientes al registro de dicha Z. En este caso, el byte dedicado a calificador debe llenarse con el caracter Z. b. Si en los bytes a nmero de Z o fecha se ingresa una fecha (formato AAMMDD), enva los datos correspondientes al primer registro diario correspondiente a esa fecha. En este caso, el byte dedicado a calificador debe llenarse con el caracter F. c. El parmetro "Calificador de impresin" indica si el controlador, adems de entregar la respuesta al comando, imprimir el reporte en papel. Este comando es rechazado si se encuentra abierto un comprobante cualquiera (fiscal o nofiscal). No altera la memoria de trabajo. C O M A N D O: Longitud 1 1 6 1 1 1 Descripcin < (ASCII 60) FS Nmero de Z o fecha (campo de longitud variable) FS Calificador de Z o fecha Z: nmero de Z; F: fecha Calificador de impresin P: Imprime reporte; Otro: no imprime Tipo A A A

Ejemplo: <1ZP R E S P U E S T A: Longitud 4 1 4 1 4 1 6 Descripcin (Informacin general) Status de la impresora FS Status fiscal FS Nmero del cierre Z reportado FS Fecha de inicio del cierre Z reportado Tipo H H N N
Pgina 48 de 129

1 6 1 6 1 6 1 8 1 5 1 12 1 8 1 5 1 12 1 8 1 5 1 12 1 8 1 5 1 8 1 8 1 12 1 12 1 5 1 12 1 5 1 12 1 5 1 12 1

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

N N N N N N N N N N N N N N N N N N N N N N N N
Pgina 49 de 129

12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 5 1 12 1 5 1 12 1 5 1 12 1 5 1 12

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

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

Ejemplo: 008006000710021204532071002175432210735128621,0010,51 0,007,001190,0090,00500,00105,00500,0052,500,000,00100,007,00 0,000,000,000,000,00200,0050,00100,0021,0050,005,250,000,001 00,007,0040,002,101,051,000,70 Errores que puede presentar este comando: Estado no vlido* -> ERROR_0
Pgina 50 de 129

Si el tipo de reporte no es vlido (F/Z) Error sintctico en parmetro 1 Error sintctico en parmetro 2

-> -> ->

ERROR_2 ERROR_1 ERROR_2

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

Pgina 51 de 129

3.3.5. GetWorkingMemory - Consulta de memoria RAM


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: Informando, a travs de la lnea serie, los datos almacenados en memoria RAM durante la jornada fiscal. Este comando es rechazado si se encuentra abierto un comprobante cualquiera (fiscal o nofiscal). No altera la memoria de trabajo. C O M A N D O: Longitud 1 g (ASCII 103) Ejemplo: g R E S P U E S T A: Longitud 4 1 4 1 4 1 8 1 5 1 12 1 8 1 5 1 12 1 8 1 5 1 Descripcin (Informacin general) Status de la impresora FS Status fiscal FS Nmero de ltimo Reporte Z emitido FS Nmero de ltima Factura emitida FS Cantidad de Facturas emitidas FS Monto total (BI) de ventas de Facturas FS Nmero de ltima Nota de Dbito emitida FS Cantidad de Notas de Dbito emitidas FS Monto total (BI) de ventas de Notas de Dbito FS Nmero de ltima Nota de Crdito emitida FS Cantidad de Notas de Crdito emitidas FS Tipo H H N N N N N N N N N
Pgina 52 de 129

Descripcin

Tipo

12 1 8 1 5 1 8 1 8 1 12 1 12 1 5 1 12 1 5 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12

Monto total (BI) de ventas de Notas de Crdito FS Nmero de ltimo Documento No Fiscal emitido FS Cantidad de Documentos No Fiscales emitidos FS Nmero de ltimo Reporte X emitido FS Nmero de ltimo Reporte de Auditora emitido FS Monto total (BI) de ventas gravadas (FA + ND NC) FS Monto total (BI) de ventas no gravadas (FA + ND NC) FS Cantidad de Devoluciones (FA + ND + NC) FS Monto total (BI) de Devoluciones (FA + ND NC) FS Cantidad de Descuentos (FA + ND + NC) FS Monto total (BI) de Descuentos (FA + ND NC) FS Tasa imponible ITBMS1 FS Monto ventas base imponible ITBMS1 (FA + ND NC) FS Monto impuesto base imponible ITBMS1 (FA + ND NC) FS Tasa imponible ITBMS2 FS Monto ventas base imponible ITBMS2 (FA + ND NC) FS Monto impuesto base imponible ITBMS2 (FA + ND NC) FS Tasa imponible ITBMS3 FS Monto ventas base imponible ITBMS3 (FA + ND NC) FS Monto impuesto base imponible ITBMS3 (FA + ND NC) FS Tasa imponible ITBMS4 FS Monto ventas base imponible ITBMS4 (FA + ND NC) FS Monto impuesto base imponible ITBMS4 (FA + ND NC) FS Cantidad de pagos en Efectivo (FA + ND + NC) FS Monto total de pagos en Efectivo (FA + ND NC)
Pgina 53 de 129

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

1 5 1 12 1 5 1 12 1 5 1 12 1 5 1 12

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

N N N N N N N N

Ejemplo: 00800600103807100217543232034386323 721,0010,50,007,002415,0050,001000,00210,00900,0094,500,000,0 0150,0010,500,000,00500,00200,00200,0042,00100,0010,500,000,0 00,000,000,00 Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI y BLOCKED

Pgina 54 de 129

3.4. Comandos de comprobante fiscal


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

Pgina 55 de 129

C O M A N D O: Longitud 1 1 3x 42 1 30 1 24 1 23 1 14 1 14 1 1 Descripcin @ (ASCII 64) FS Nombre o Razn Social del comprador (ver apndice 13) FS Nmero de Registro Unico de Contribuyente (RUC) del comprador FS Nmero del comprobante original FS Nmero de registro de la impresora fiscal que emiti el comprobante original FS Fecha del comprobante original (formato AAMMDD) FS Hora del comprobante original (formato HHMMSS) FS Tipo de documento B: Nota de Dbito D: Nota de Crdito A u Otro: Factura FS Campo opcional no utilizado (ASCII 127) FS Campo opcional no utilizado (ASCII 127) Tipo A A A A A A A

1 1

Ejemplo: @Sanchez & Thompson S A 22096511979106802HHP0000002071002164032 R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status Fiscal Ejemplo: 00800600 Errores que puede presentar este comando: Estado no vlido* -> Error sintctico en algunos de los parmetros 1 a 7 -> *estados no vlidos: todos menos INI_JF y EN_JF ERROR_0 ERROR_1 a ERROR_7 Descripcin Tipo H H

Pgina 56 de 129

3.4.2. PrintFiscalText - Imprimir texto en comprobante fiscal


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

Como se puede ver, las combinaciones se logran (siempre y cuando estn permitidas) haciendo una suma lgica (OR) entre los cdigos hexadecimales pertenecientes a las caractersticas a combinar. C O M A N D O: Longitud 1 1 42 1 1 Descripcin A (ASCII 65) FS Hasta 42 caracteres de texto FS Reservado (No Disponible en este modelo de CF) Tipo A A

Ejemplo: AOferta del da R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status Fiscal Ejemplo: 00800600 Errores que puede presentar este comando:
Pgina 57 de 129

Descripcin

Tipo H H

Estado no vlido* -> Se super la mxima cantidad de lneas de texto fiscal (4) -> Error sintctico en parmetro 1 ->

ERROR_0 ERROR_0 ERROR_1

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

Pgina 58 de 129

3.4.3. PrintLineItem - Imprimir tem en comprobante fiscal


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra Responde: a. imprimiendo una lnea dividida en tres campos: descripcin del tem, identificador de tasa de ITBMS aplicada y monto del tem; b. sumando los montos de venta e ITBMS a los acumulados en la factura provisoria. Opciones Multiplicacin Si el valor acumulado es distinto a 1, previo a la lnea se imprime otra con dicho valor, seguido del signo de multiplicacin y el precio unitario del tem. (O sea, se usa para vender cantidades diferentes a la unidad). En ese caso, el monto al que se refiere el primer prrafo surge de la multiplicacin del valor almacenado en los bytes dedicados a cantidad por el valor almacenado en los bytes dedicados a monto (en este caso, precio unitario). Imputacin Si se llena este byte con el caracter M, el signo del monto resultante de la operacin ser el del producto de la cantidad por el precio unitario de la venta. En caso contrario, si se llena este byte con el caracter m, el signo del monto resultante de la operacin ser el del producto de la cantidad por el precio unitario de la venta por -1. Nota: si el signo resultante de la operacin es negativo estaremos frente a una devolucin o descuento de productos ya vendidos en el mismo comprobante. Esta operatoria solo ser aceptada si previamente se ha vendido un producto con la misma descripcin y tasa de ITBMS, y con monto o cantidad mayor o igual. Este comando es rechazado si: a. No se encuentra abierto un comprobante fiscal; b. Los montos acumulados fueran a causar un desborde en la capacidad del acumulador del total o fueran a negativizar los acumuladores de BI o Impuesto correspondientes a la tasa ITBMS asociada a esta operacin. El campo de descripcin provee de flexibilidad para describir un tem en letras maysculas o minsculas. En caso de que el nombre del producto contenga la palabra TOTAL, t()tal (o cualquier otra de sus variantes), la impresora fiscal automticamente reemplazar dicha palabra por t#tal. El campo de la cantidad se multiplicar por el campo de monto del tem, y darn como resultado el total del tem de lnea. El monto total mximo de una lnea es 99.999.999,99, y si se supera dicho monto, el controlador fiscal informa que va a ocurrir un desbordamiento del acumulador interno.

Pgina 59 de 129

El campo de la tasa impositiva determina en que acumulador interno se suma este monto para el clculo impositivo en el momento de realizar la transaccin. Este campo no debe faltar y se puede trabajar con cualquiera de las tasas registradas en el proceso de fiscalizacin. Si se enva a la impresora fiscal una tasa no permitida, el comando es rechazado. El calificador de comando permite determinar como afecta el tem a los totales de las transacciones. Si el tem de lnea se encuentra calificado como monto negativo (calificador de comando = m), se colocar el signo menos (0x2D) al final de la impresin del monto. El comando es rechazado si el monto correspondiente al tem es superior al monto acumulado en la memoria de trabajo para dicha tasa impositiva. C O M A N D O: Longitud 1 1 1 1 14 1 10 1 5 1 1 1 30 Descripcin B (ASCII 66) FS Hasta 20 caracteres de texto descripcin FS Cantidad (slo se imprimen siete caracteres incluido el signo) FS Monto FS Tasa de ITBMS FS Imputacin M: suma; m: resta FS Cdigo de producto Tipo A N N N A

Ejemplo: BItem1_Arrozxkg2,564,3021,00M12451235 R E S P U E S T A: Longitud 4 1 4 1 12 Descripcin Status de la impresora FS Status Fiscal FS Cantidad de operaciones de venta / anulacin realizadas Tipo H H N

Ejemplo: 008006004

Pgina 60 de 129

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

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

Pgina 61 de 129

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

Pgina 62 de 129

R E S P U E S T A: Longitud 4 1 4 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 5 1 12 1 12 1 12 Descripcin Status de la impresora FS Status Fiscal FS Monto venta exento FS Tasa imponible ITBMS1 FS Monto venta base imponible ITBMS1 FS Monto impuesto base imponible ITBMS1 FS Tasa imponible ITBMS2 FS Monto venta base imponible ITBMS2 FS Monto impuesto base imponible ITBMS2 FS Tasa imponible ITBMS3 FS Monto venta base imponible ITBMS3 FS Monto impuesto base imponible ITBMS3 FS Tasa imponible ITBMS4 FS Monto venta base imponible ITBMS4 FS Monto impuesto base imponible ITBMS4 FS Monto Total Tipo H H N N N N N N N N N N N N N N

Ejemplo: 00800600100,0050,0021,0011,00200,0010,5021,000,000,000,000,00 0,000,00 Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

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

Pgina 63 de 129

3.4.5. TotalTender Pago/Cancelacin/Descuento en DF


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: Calculando el total, registrando el monto pagado, calculando el vuelto e imprimiendo estos datos. Alternativamente, cancela el comprobante abierto. Opciones: Calificador de Tipo de operacin C: anulacin del comprobante fiscal abierto. T: ingreso de un pago. D: ingreso de un descuento global (descuento general). Para la opcin 'T': Se aceptan hasta 5 pagos. Si la sumatoria de los pagos es menor al total, se imprime una lnea con la leyenda: "Saldo: $nn.nn", donde nn.nn corresponde a la diferencia entre el total y la suma de los pagos Si la sumatoria de los pagos es igual al total, se imprime la leyenda: "Cambio: $0.00". Si la sumatoria de los pagos es mayor al total, se imprime la leyenda: "Cambio: $xx.xx", donde xx.xx corresponde al excedente del pago (diferencia entre la suma de los pagos y el total) Este comando es rechazado si: a. No se encuentra abierto un comprobante fiscal; b. Si va a causar un desborde en los acumuladores; c. Si el total (monto y/o ITBMS) es negativo.

Pgina 64 de 129

C O M A N D O: Longitud 1 1 20 1 13 1 1 Descripcin D (ASCII 68) FS Hasta 20 caracteres de texto descripcin FS Monto pagado / Porcentaje de descuento FS Tipo de operacin C: anula T: importe pagado D: descuento global (descuento general) FS Tipo de Medio de Pago 1: Efectivo 2: Tarjeta de dbito 3: Tarjeta de crdito 4: Cheque Otros: Otros pagos Tipo A N A

1 1

Ejemplo: DEfectivo685,00T1 R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status Fiscal Ejemplo: 00800600 NOTA: El campo Monto pagado se refiere a distintas cosas en funcin del campo Tipo de operacin, a saber: Si Tipo de operacin es T, Monto pagado se refiere al monto en $ que se ha pagado. Si Tipo de operacin es D, Monto pagado se refiere al porcentaje de descuento (por ejemplo, si el descuento es del 25%, este valor debe valer 25 (ver el formato de los datos en el Apndice 10)). Para informacin del formato del campo del monto ver apndice 10 Descripcin Tipo H H

Pgina 65 de 129

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

Pgina 66 de 129

3.4.6. CloseFiscalReceipt - Cerrar comprobante fiscal


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

C O M A N D O: Longitud 1 E (ASCII 69) 1 FS 1 Tipo de operacin (opcional) A: cierre parcial E: cierre econmico Otro: cierre normal Ejemplo: EA R E S P U E S T A: Longitud 4 1 4 1 8 Descripcin Status de la impresora FS Status Fiscal FS Cantidad de comprobantes emitidos dentro de la jornada fiscal. Tipo H H N Descripcin Tipo A

Ejemplo: 00800600171017

NOTA: Si se enva un pago cuyo monto es menor al subtotal del comprobante en curso, al hacerse el cierre del mismo la impresora no imprimir el medio de pago y el monto. Errores que puede presentar este comando: Estado no vlido* -> Subtotal es cero** -> Error sintctico en parmetro 1 -> ERROR_0 ERROR_0 ERROR_1

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

Pgina 68 de 129

3.5. Comandos de comprobante no-fiscal


3.5.1. OpenNonFiscalDocument Apertura de Documento No Fiscal
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde: a. Abriendo un comprobante no-fiscal; b. Imprimiendo, en la impresora de facturas, el encabezamiento (excepto la razn social y el nmero de CUIT, que ya se encuentran impresos), que incluye la leyenda NO FISCAL. Este comando es rechazado si ya se encuentra abierto un comprobante fiscal o no-fiscal. C O M A N D O: Longitud 1 H (ASCII 72) 1 FS 1 Identificador de documento C: Copia de documento Otro: DNF de usuario Ejemplo: HC R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status fiscal Ejemplo: 00800600 Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 Descripcin Tipo H H Descripcin Tipo A

*estados no vlidos: todos menos INI_JF y EN_JF

Pgina 69 de 129

3.5.2. PrintNonFiscalText Impresin de Texto en 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 imprimiendo un texto con una longitud mxima de 42 caracteres. Este comando es rechazado si no se encuentra abierto un comprobante no-fiscal. El comando se puede repetir cuantas veces se desee, pero cada cuatro lneas se intercalar automticamente la leyenda NO FISCAL. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo .. ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8)

(No Disponible en este mo delo de CF)

C O M A N D O: Longitud Descripcin 1 I (ASCII 73) 1 FS 42 Hasta 42 caracteres de texto Ejemplo: ILista de clientes R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status fiscal Ejemplo: 00800600 Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 Descripcin Tipo H H Tipo A

*estados no vlidos: todos menos PRINT_TEXT_DNF

Pgina 70 de 129

3.5.3. CloseNonFiscalReceipt - Cerrar comprobante no-fiscal


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

Pgina 71 de 129

R E S P U E S T A: Longitud 4 1 4 1 8 Descripcin Status de la impresora FS Status Fiscal FS Nmero del documento no fiscal recin emitido (nmero dentro de la jornada fiscal) Tipo H H N

Ejemplo: 0080060045 Errores que puede presentar este comando: Estado no vlido* Error sintctico en parmetro 1 -> -> ERROR_0 ERROR_1

*estados no vlidos: todos menos PRINT_TEXT_DNF

Pgina 72 de 129

3.6. Comandos de alcuotas ITBMS


3.6.1. SetITBMSRates - Programacin de Alcuotas ITBMS
(Reservado para uso exclusivo de Compaa Hasar. Se lo menciona en este manual para referencia de desarrolladores de software) Programa el valor de las tasas de ITBMS ITBMS1, ITBMS2, ITBMS3 e ITBMS4 en el controlador fiscal. El valor 0.00 se utiliza para indicar que la tasa debe ser programada -no podr ser utilizada-. El ltimo parmetro corresponde a la clave de validacin que permitir al controlador restringir la progragacin de dichas tasas -de modo que esta accin solo pueda ser efectuada por medio del uso del software provisto por Compaa Hasar a este fin-. Este comando slo puede ser ejecutado inmediatamente al inicio de la jornada fiscal. C O M A N D O: Longitud 1 1 5 1 5 1 5 1 5 1 4 Descripcin (ASCII 158) FS Tasa imponible ITBMS1 FS Tasa imponible ITBMS2 FS Tasa imponible ITBMS3 FS Tasa imponible ITBMS4 FS Clave de validacin Tipo N N N

Ejemplo: 21,0010,505,252,504571 R E S P U E S T A: Longitud Descripcin 4 Status de la impresora: datos en ASCII 1 FS 4 Status fiscal: datos en ASCII Ejemplo: 00800600 Para informacin del formato de los campos ver apndice 9 Tipo H H

Pgina 73 de 129

Errores que puede presentar este comando: Estado no vlido* Categora fiscal distinta de ordinario No verifica clave de validacin Error de grabacin / almacenamiento*** Si no se especifica ITBMS1 y se Especifica alguna de las otras dos. Tasa ITBMS1 invlida** Tasa ITBMS2 invlida** Tasa ITBMS3 invlida** Tasa ITBMS4 invlida** -> -> -> -> -> -> -> -> -> ERROR_0 ERROR_0 ERROR_4 ERROR_92 ERROR_1 ERROR_1 ERROR_2 ERROR_3 ERROR_4

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

Pgina 74 de 129

3.6.2. GetITBMSRates - Consulta de Alcuotas ITBMS programadas


Enva a travs de la lnea serie el valor programado correspondiente a las alcuotas ITBMS1, ITBMS2, ITBMS3 e ITBMS4 programadas en el controlador fiscal. Si alguna alcuota ITBMS no haba sido previamente programada retorna el campo correspondiente en 0.00. C O M A N D O: Longitud 1 (ASCII 159) Ejemplo: R E S P U E S T A: Longitud 4 1 4 1 5 1 5 1 5 1 5 Descripcin Status de la impresora FS Status fiscal FS Tasa imponible ITBMS1 FS Tasa imponible ITBMS2 FS Tasa imponible ITBMS3 FS Tasa imponible ITBMS4 Tipo H H N N N Descripcin Tipo

Ejemplo: 0080060021,0010,57,50 2,50 Para informacin del formato de los campos ver apndice 10 Errores que puede presentar este comando: Estado no vlido* -> ERROR_0

*estados no vlidos: NO_INI y BLOCKED

Pgina 75 de 129

3.7. Comandos comunes a varios tipos de documentos


3.7.1. Cancel Cancelacin general de Documentos
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Responde cancelando el documento abierto, cualquiera que fuese ste. Este comando es rechazado si no se encuentra abierto un documento. C O M A N D O: Longitud 1 (ASCII 152) Ejemplo: R E S P U E S T A: Longitud Descripcin 4 Status de la impresora: datos en ASCII 1 FS 4 Status fiscal: datos en ASCII Ejemplo: 00800600 Tipo H H Descripcin Tipo

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

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

Pgina 76 de 129

3.7.2. SetBarCode - Cdigo de barras


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

Pgina 77 de 129

C O M A N D O: Descripcin Z (ASCII 90) FS 0: borra;1: EAN 13; 2: EAN 8; 1 3: UPCA; 4: ITS 2 de 5 1 FS 7/11/12/18 Datos EAN 8 / UPCA / EAN 13 / ITS 2 de 5 1 FS 1 P: imprime nmeros; otro: no imprime nmeros Ejemplo: Z1779123456789NP R E S P U E S T A: Longitud 4 1 4 Descripcin Status de la impresora: datos en ASCII FS Status fiscal: datos en ASCII Tipo H H Longitud 1 1 Tipo

N N A

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

Pgina 78 de 129

3.8. Comandos de control de la impresora


3.8.1. FeedReceipt - Avanzar 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 Responde avanzando el papel de facturas tantas lneas como se indica en los bytes 5-6. C O M A N D O: Longitud 1 P (ASCII 80) 1 FS 2 Cantidad de lneas a avanzar Ejemplo: P2 R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status fiscal Ejemplo: 00800600 Errores que puede presentar este comando: Si n de lnea es invlido* -> * n vlidos: 0 a 99 ERROR_1 Descripcin Tipo H H Descripcin Tipo N

Pgina 79 de 129

3.8.2. CutPaper - Cortar Papel de recibo


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

Ejemplo: K R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status Fiscal Ejemplo: 00800600 Descripcin Tipo H H

Este comando nunca da error.* *nunca da error, pero dentro de un documento el comando es ignorado.

Pgina 80 de 129

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


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

Ejemplo: X070912163500 R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status fiscal Ejemplo: 00800600 Errores que puede presentar este comando: Fecha no vlida Hora no vlida Fecha y hora nuevas son anteriores a la actual Ya se cambi fecha/hora (1 cambio por jornada) Estado no vlido* * estados no vlidos: todos menos INI_JF, NO_INI -> -> -> -> -> ERROR_1 ERROR_2 ERROR_0 ERROR_0 ERROR_0 Descripcin Tipo H H

Pgina 81 de 129

3.9.2. GetDateTime - Obtener fecha y hora


Responde con la fecha y la hora del reloj de tiempo real. C O M A N D O: Longitud 1 Y (ASCII 89) Ejemplo: Y R E S P U E S T A: Longitud 4 1 4 1 6 1 6 Descripcin Status de la impresora FS Status fiscal FS Fecha (Formato AAMMDD) FS Hora (Formato HHMMSS) Tipo H H D T Descripcin Tipo

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

*estado no vlido: BLOCKED

Pgina 82 de 129

3.9.3. SetHeader - Programacin Texto Encabezado Documentos


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Almacena una lnea de texto en la estructura HEADER, para ser impresa en el encabezamiento de un documento. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo . Borrado Borrado de lneas individuales: Para borrar una lnea de encabezamiento ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro. Borrado de grupo de lneas: Para borrar todas las lneas de encabezamiento que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. C O M A N D O: Longitud Descripcin 1 ] (ASCII 93) 1 FS 1 Nmero de lnea de encabezamiento (1-10) 0: borra encabezamiento 1 FS 46 Texto de hasta 46 caracteres Ejemplo: ]1Papeltodo SA R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status Fiscal Descripcin Tipo H H Tipo N T ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8) (No Disponible en este modelo de CF)

Ejemplo: 00800600

Pgina 83 de 129

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

ERROR_0 ERROR_1 ERROR_2 ERROR_92

Pgina 84 de 129

3.9.4. SetTrailer - Programacin Texto Pie Documentos


Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Almacena una lnea de texto en la estructura TRAILER, para ser impresa en el pi de un documento. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo . Borrado Borrado de lneas individuales: Para borrar una lnea de pie ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro. Borrado de grupo de lneas: Para borrar todas las lneas de pie que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. C O M A N D O: Longitud Descripcin 1 ^ (ASCII 94) 1 FS 1 Nmero de lnea de pie (1-10) 0: borra pi 1 FS 46 Texto de hasta 46 caracteres Ejemplo: ^1Gracias por su compra R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status Fiscal Ejemplo: 00800600 Descripcin Tipo H H Tipo N T ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8)

(No Disponible en este modelo de CF)

Pgina 85 de 129

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

Pgina 86 de 129

3.9.5. GetHeader - Consulta Texto Encabezado Documentos


Enva a travs de la lnea serie una lnea de encabezamiento almacenada en la estructura HEADER.

C O M A N D O: Longitud Descripcin 1 (ASCII 154) 1 FS 1 Nmero de lnea de encabezamiento (1-10) Ejemplo: 1 R E S P U E S T A: Longitud 4 1 4 1 46 Descripcin Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres Tipo H H A Tipo

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

ERROR_0 ERROR_1

Pgina 87 de 129

3.9.6. GetTrailer - Consulta Texto Pie Documentos


Enva a travs de la lnea serie una lnea de pi almacenada en la estructura TRAILER. C O M A N D O: Longitud Descripcin 1 (ASCII 155) 1 FS 1 Nmero de lnea de pie (1-10) Ejemplo: 1 R E S P U E S T A: Longitud 4 1 4 1 46 Descripcin Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres Tipo H H A Tipo

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

Pgina 88 de 129

3.9.7. SetCustExtraData - Programacin Datos Adicionales del Comprador


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

(No Disponible en este modelo de CF)

Nota: en ciertos casos se permite la combinacin de ms de una modalidad de impresin simultaneamente. Borrado Borrado de lneas individuales: Para borrar una lnea de datos adicionales del comprador ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro. Borrado de grupo de lneas: Para borrar todas las lneas de datos adicionales del comprador que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. C O M A N D O: Longitud Descripcin 1 (ASCII 156) 1 FS 1 Nmero de lnea de datos adicionales del comprador (1-5) 0: borra datos adicionales del comprador 1 FS 46 Texto de hasta 46 caracteres Ejemplo: 1Direccin Legal: Andes 2541 R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status Fiscal Ejemplo: 00800600 Descripcin Tipo H H Tipo N A

Pgina 89 de 129

Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento***

-> -> -> ->

ERROR_0 ERROR_1 ERROR_2 ERROR_92

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

Pgina 90 de 129

3.9.8. GetCustExtraData - Consulta Datos Adicionales del Comprador


Enva a travs de la lnea serie una lnea de datos adicionales del Comprador almacenada en la estructura CUSTOMER. C O M A N D O: Longitud Descripcin 1 (ASCII 157) 1 FS 1 Nmero de lnea de datos adicionales del comprador (1-5) Ejemplo: 1 R E S P U E S T A: Longitud 4 1 4 1 46 Descripcin Status de la impresora FS Status Fiscal FS Texto de hasta 46 caracteres Tipo H H A Tipo N

Ejemplo: 00800600Direccin Legal: Andes 2541

Errores que puede presentar este comando: Estado no vlido* -> Si n de lnea es invlido** ->

ERROR_0 ERROR_1

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

Pgina 91 de 129

3.10. Comandos de gaveta de dinero


3.10.1. OpenDrawer1 - Abrir gaveta 1 de dinero
Chequea el estado de la memoria de trabajo, y verifica si se puede ejecutar el comando en el estado fiscal en que se encuentra. Abre la gaveta 1 de dinero conectada a la impresora fiscal. C O M A N D O: N Byte 1 { (ASCII 123) Ejemplo: { R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status fiscal Ejemplo: 00800600 Descripcin Tipo H H Descripcin Tipo

Este comando nunca da error.

Pgina 92 de 129

3.10.2. OpenDrawer2 - Abrir gaveta 2 de dinero


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

Ejemplo: |

R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status fiscal Ejemplo: 00800600 Descripcin Tipo H H

Este comando nunca da error.

Pgina 93 de 129

3.11. Comandos de domicilio fiscal


3.11.1. SetFiscalAddress - Programacin de lneas de Domicilio Fiscal
Almacena en memoria de trabajo una de las 10 lneas de texto del Domicilio Fiscal, las cuales se imprimen automticamente al comienzo de todo Comprobante Fiscal. Su administracin es responsabilidad de la aplicacin. Este comando slo puede ser ejecutado fuera de todo comprobante. Para abrir un comprobante de tipo Factura, Nota de Crdito o Nota de Dbito ser obligatorio contar con al menos una lnea de Domicilio Fiscal programada. Estas lneas se borran luego de hacer un MAC. Caracteres de modalidad de impresin: Modo Normal .. Modo Doble Ancho Modo Centrado .. Modo Impresin en Rojo . Borrado Borrado de lneas individuales: Para borrar una lnea de Domicilio Fiscal ya ingresada en memoria de trabajo, debe enviarse un comando con slo el cdigo ASCII 7fH (DEL) en el campo de texto o simplemente dejarla en blanco y seleccionar el nmero de lnea con el primer parmetro. Borrado de grupo de lneas: Para borrar todas las lneas de Domicilio Fiscal que se encuentran en memoria de trabajo, el campo nmero de lnea deber llenarse con el valor 0. C O M A N D O: Longitud Descripcin 1 _(ASCII 95) 1 FS 1 N de lnea de Domicilio Fiscal (1-10) 0: borra todas las lneas 1 FS 46 Texto de hasta 46 caracteres Ejemplo: _1Bolivar 235 R E S P U E S T A: Longitud 4 Status de la impresora 1 FS 4 Status fiscal Ejemplo: 00800600 Descripcin Tipo H H Tipo N T ASCII 240 (0xF0) ASCII 241 (0xF1) ASCII 242 (0xF2) ASCII 248 (0xF8)

(No Disponible en este modelo de CF)

Pgina 94 de 129

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

Pgina 95 de 129

3.11.2. GetFiscalAddress - Consulta de lneas de Domicilio Fiscal


Enva, a travs de la lnea serie de comunicacin con el host, una lnea de texto de Domicilio Fiscal. C O M A N D O: Longitud 1 (ASCII 146) 1 FS 1 N de lnea a reportar (1-10) Ejemplo: 1 R E S P U E S T A: Longitud 4 1 4 1 46 Descripcin Status de la impresora FS Status fiscal FS Texto de la lnea reportada (hasta 46 caracteres) Tipo H H A Descripcin Tipo N

Ejemplo: 00800600Bolivar 235 Nota: Si la lnea seleccionada no se encuentra programada, el campo del texto se reporta vaco. Errores que puede presentar este comando: Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED * n vlidos: 1 a 10 -> -> ERROR_0 ERROR_1

Pgina 96 de 129

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

Pgina 97 de 129

3.12. Comandos de la memoria de auditora.


3.12.1. GetPublicKey - Leer clave pblica
Obtiene la clave pblica asociada al controlador fiscal la cual fue generada en la inicializacin del mismo-. C O M A N D O: Longitud 1 (ASCII 160) Ejemplo: R E S P U E S T A: Longitud 4 1 4 1 256 Descripcin Status de la impresora FS Status Fiscal FS Mdulo de la clave pblica Tipo H H A Descripcin Tipo

Ejemplo: 00800600[Clave Pblica] Errores que puede presentar este comando: Estado no vlido* -> ERROR_0 INI_JF, EN_JF, WAIT_KILL, KILLED, AU-

*estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL

Pgina 98 de 129

3.12.2. GetAuditRangeZNum - Obtener rango de cierres Z por nmeros


Dado un rango de fechas obtiene el rango de nmeros de cierres Z comprendido entre ambas. C O M A N D O: Longitud 1 1 6 1 6 1 1 Descripcin (ASCII 161) FS Fecha inicial del perodo (formato AAMMDD) FS Fecha final del perodo (formato AAMMDD) FS Fuente de la encuesta A: cinta de auditora Otro: memoria fiscal Tipo D D

Ejemplo: 080110080205A R E S P U E S T A: Longitud 4 1 4 1 4 1 4 Descripcin Status de la impresora FS Status Fiscal FS Nmero de Z inicial del perodo FS Nmero de Z final del perodo Tipo H H N N

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

Pgina 99 de 129

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


Dado rango de nmeros de registros Z solicitado responde el nmero del primer cierre Z perteneciente a dicho rango existente en cinta de auditora y el primer bloque de informacin correspondiente al registro asociado a dicho cierre Z. C O M A N D O: Longitud 1 1 4 1 4 Descripcin (ASCII 162) FS Nmero de Z inicial del perodo FS Nmero de Z final del perodo Tipo N N

Ejemplo: 11021200 R E S P U E S T A: Longitud 4 1 4 1 1 1 4 1 512 Descripcin Status de la impresora FS Status Fiscal FS Identificador de tipo de bloque I: Bloque de informacin del registro FS Nmero de Z informada FS Informacin del registro -codificada en formato ascii85Tipo H H A N A

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

Pgina 100 de 129

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


Responde el siguiente bloque de informacin correspondiente al registro asociado al cierre Z solicitado en el anterior comando, o la firma asociada al registro (el bloque de la firma se enva al final, luego de haber enviado previamente hasta todos los bloques de informacin de todos los registros Z solicitados en el comando GetAuditNextBlock). C O M A N D O: Longitud 1 (ASCII 163) Ejemplo: R E S P U E S T A: Longitud 4 1 4 1 1 1 4 1 512 Descripcin Status de la impresora FS Status Fiscal FS Identificador de tipo de bloque I: Bloque de informacin del registro F: Bloque de firma del registro FS Nmero de Z informada FS Informacin del registro -codificada en formato ascii85Firma del registro -no codificada en formato ascii85. Tipo H H A Descripcin Tipo

N A

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

,WAIT_KILL

Pgina 101 de 129

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


Responde el nmero de secuencia actual de la cinta de auditora. Este nmero indica cuntas veces se ha borrado la memoria de auditora electrnica. Cuando el equipo no est inicializado este campo vale 0, incrementndose a 1 en la inicializacin. Internamente el equipo comprueba que haya congruencia entre el nmero de secuencia registrado en la memoria fiscal y el presente en la cinta de auditora electrnica. C O M A N D O: Longitud 1 (ASCII 164) Ejemplo: R E S P U E S T A: Longitud 4 1 4 1 2 Descripcin Status de la impresora FS Status Fiscal FS Nmero de Secuencia Tipo H H N Descripcin Tipo

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

EN_JF,

Pgina 102 de 129

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

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

Monto Monto Monto

Monto Monto Monto

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

Versin

Pgina 103 de 129

Apndices Apndice 1: Tipo de letra.


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

Pgina 104 de 129

Apndice 2: Status fiscal


Los 16 bits del status fiscal (4 nibbles), expresados en binario, tienen el siguiente significado (el bit 0 es el menos significativo): Bit 0 1 2 3 4 5 Descripcin 1 = Error de comprobacin de memoria fiscal. Junto con el bit 7 indica que la memoria fiscal est llena 1 = Error de comprobacin de memoria de trabajo 1 = Error de reloj de tiempo real (RTC) La fecha y hora del RTC estn por detrs de la ltima fecha y hora vlidas 1 = Comando desconocido El comando recibido no fue reconocido. 1 = Datos no vlidos en un campo Uno de los campos del comando recibido tiene datos no vlidos (por ejemplo, datos no numricos en un campo numrico). 1 = Comando no vlido para el estado fiscal actual Se ha recibido un comando que no es vlido en el estado actual del controlador (por ejemplo, abrir un recibo no-fiscal cuando se encuentra abierto un recibo fiscal). Nota: cuando se ha producido un cambio no vlido de cdigo de ITBMS, tanto el bit 4 como el 5 tendrn valor 1. 1 = Desborde del Total El acumulador de una transaccin, del total diario o del ITBMS se desbordar a raz de un comando recibido. El comando no es ejecutado. Este bit debe ser monitoreado por el host para emitir un aviso de error. 1 = Memoria fiscal llena, bloqueada o dada de baja En caso de que la memoria fiscal est llena, bloqueada o dada de baja, no se permite abrir un comprobante fiscal. 1 = Memoria fiscal a punto de llenarse La memoria fiscal tiene 95 o menos registros libres. Este bit debe ser monitoreado por el host para emitir el correspondiente aviso. 1 No utilizado. 1 No utilizado.

7 8

9 10 11 12 13 14 15

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

Pgina 105 de 129

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

Pgina 106 de 129

Apndice 3: Status impresora


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

Pgina 107 de 129

Apndice 4: Status auxiliar


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

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

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

Pgina 108 de 129

Apndice 5: Status de documento


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

Factura Nota de Dbito Nota de Crdito Documento no fiscal

Pgina 109 de 129

Apndice 6: Manejo del ITBMS


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

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

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


Nota: En todos los casos de descuentos o recargos, el controlador slo reconoce montos fijos. En caso de que se desee hacer un descuento o recargo porcentual, el clculo del monto fijo que debe enviarse al controlador queda por cuenta del programa de caja o facturacin. Las lneas correspondientes a descuentos se imprimen de acuerdo con lo siguiente: Descuento sobre ltimo tem vendido
Pgina 110 de 129

La alcuota del ITBMS que se imprime entre parntesis se corresponde con el del ltimo tem vendido. Descuento general Los campos correspondientes a base imponible y alcuota de ITBMS estn en blanco.

Pgina 111 de 129

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

Pgina 112 de 129

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

Pgina 113 de 129

Apndice 8: Caractersticas de la comunicacin Host-Controlador fiscal


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

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

I/O I O

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

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

Pgina 114 de 129

Apndice 9: Tratamiento de montos, cantidades y porcentajes.


Las variables que representen montos, cantidades o porcentajes pueden tratarse de dos formas: 1) Modo Hasar 2) Modo Epson compatible 1) Modo Hasar: en este modo de trabajo se opera con nmeros decimales, las variables que corresponden a montos operan con cuatro dgitos decimales (no obligatorios) y nueve enteros; las variables correspondientes a cantidades con diez decimales (no obligatorios) y seis enteros, y las correspondientes a porcentajes con seis decimales (no obligatorios) y dos enteros. Por otro lado, las tasas de ITBMS poseen dos dgitos decimales (no obligatorios) y dos enteros. Es decir: Montos: nnnnnnnnn.nnnn Cantidades: nnnnnn.nnnnnnnnnn Porcentajes: nn.nnnnnn Tasas ITBMS: nn.nn 2) Modo Epson compatible: en este modo de trabajo todas las variables son nmeros enteros. Las variables que corresponden a montos contienen nueve enteros y dos decimales, pero al tener que trabajar con nmeros enteros, se encuentran multiplicadas por 100, es decir, con los dos decimales que le corresponden en el lugar de los dos dgitos enteros menos significativos; las variables correspondientes a cantidades contienen seis enteros y tres decimales, entonces se encuentran multiplicadas por 1000, y las correspondientes a porcentajes contienen dos enteros y seis decimales, es decir, se multiplican por 1.000.000. Las tasas de ITBMS contienen dos enteros y dos decimales, entonces, se multiplican por 100. Es decir: Montos: nnnnnnnnnnn y representa 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 dgitos que representan los decimales, ya que si, por ejemplo quisiera escribir la cantidad 2 y escribiera 2, en realidad se interpretara como 0.002. Por ende, debera haber escrito 2000. Si se trabaja en Modo Hasar, todos los enteros que se reciban sern tomados como tal sin decimal. Es decir, si envo 12345 interpretar 12345,00 (la cantidad de decimales depende del tipo de dato, en este caso un monto), y de hecho si se trata de una respuesta enviar 12345,00. En cambio, en modo Epson compatible, al enviar 12345, interpretar 123,45 (si se trata de un parmetro que admite dos decimales); si se quisiera escribir el entero 12345, debera enviarse 1234500. Lo mismo vale para las respuestas; si se est trabajando en este
Pgina 115 de 129

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

Pgina 116 de 129

Apndice 10: Descripcin de errores en los comandos


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

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

Pgina 117 de 129

*estados no vlidos: todos menos INI_JF , WAIT_KILL y AUDIT_FULL 3.1.3. SetConfigCFData - Configuracin controlador por parmetros Estado no vlido* -> Identificador de variable de configuracin no vlido -> Valor a programar no vlido** -> Error al grabar las variables en HDD*** -> *estados no vlidos: todos menos INI_JF, EN_JF , DIT_NEXT_TO_FULL y AUDIT_FULL **cada variable de configuracin tiene sus valores vlidos ***Se activa el bit 5 del Status Fiscal 3.1.4. StoreLogoData- Carga logotipo Estado no vlido* -> ERROR_0 Parmetro no corresponde con opcin vlida (I, F, C) -> ERROR_1 Si los parmetros de carga estn fuera de secuencia (I,F,C - en ese orden) -> ERROR_1 Si al hacer el cierre, no hay datos de imagen (imagen vaca) -> ERROR_1 Imagen del logo no cumple con las especificaciones -> ERROR_1 Si la fraccin de imagen no es vlida -> ERROR_2 *estados no vlidos: todos menos INI_JF 3.1.5. ResetLogoData- Reset Logotipo Estado no vlido* *estados no vlidos: todos menos INI_JF 3.1.6. SetFantasy - Programacin Texto Nombre Comercial Estado no vlido -> ERROR_0 Si n de lnea es invlido** -> ERROR_1 Si el texto es invlido -> ERROR_2 Si existe error de grabacin /almacenamiento*** -> ERROR_92 *estados no vlidos: NO INI, BLOCKED y EST_DOC ** n vlidos: 0 a 1 *** Se activa el bit 5 del Status Fiscal. 3.1.7. SetComSpeed - Seteo de velocidad de comunicacin Estado no vlido -> ERROR_0 Si velocidad es invlida -> ERROR_1 *estados no vlidos: Todos excepto INI_JF y EN_JF 3.2. Comandos de diagnstico y consulta 3.2.1. StatusExtra - Consulta extra de estado
Pgina 118 de 129

ERROR_0 ERROR_1 ERROR_2 ERROR_92 WAIT_KILL , KILLED, AU-

->

ERROR_0

Nunca da error 3.2.2. GetConfigCFData - Consulta de configuracin Estado no vlido* -> ERROR_0

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

*estados no vlidos: NO_INI, BLOCKED 3.2.4. GetPrinterVersion - Consulta de versin de controlador fiscal Nunca da error 3.2.5. GetInitData - Consulta de datos de inicializacin Estado no vlido* -> ERROR_0

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

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

3.3.3. Reporte de Memoria fiscal - Consulta por nmero de Z Estado no vlido* Nro. de Z de inicio <=0 -> -> ERROR_0 ERROR_1
Pgina 119 de 129

Nro. de Z de fin <=0 Nro. de Z de inicio > nro. de Z de fin No hay datos del perodo solicitado Error sintctico en parmetro 1 Error sintctico en parmetro 2 Error sintctico en parmetro 3 *estados no validos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF,

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

ERROR_2 ERROR_1 ERROR_1 ERROR_1 ERROR_2 ERROR_3 WAIT_KILL , KILLED, AU-

EN_JF,

3.3.4. GetDailyReport - Reporte de registro diario Estado no vlido* Si el tipo de reporte no es vlido (F/Z) Error sintctico en parmetro 1 Error sintctico en parmetro 2 *estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL INI_JF, -> -> -> -> EN_JF ERROR_0 ERROR_2 ERROR_1 ERROR_2 , WAIT_KILL , KILLED, AU-

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

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

*estados no vlidos: todos menos SELL_DF, PRINT_TEXT_DF y WAIT_CLOSE_DF 3.4.3. PrintLineItem - Imprimir tem Estado no vlido* Error sintctico en alguno de los parmetros 1 a 5 Tasa no coincide con las programadas -> -> -> ERROR_0 ERROR_1 a ERROR_5 ERROR_4
Pgina 120 de 129

Error en lmites (> mximo del documento o < 0)

->

ERROR_0**

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

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

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

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

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

*estados no vlidos: todos menos PRINT_TEXT_DNF 3.6. Comandos de alcuotas ITBMS. 3.6.1. SetIVARates - Programacin Alcuotas ITBMS Estado no vlido* Categora fiscal distinta de ordinario No verifica clave de validacin Error de grabacin / almacenamiento*** Si no se especifica ITBMS1 y se Especifica alguna de las otras dos. Tasa Tasa Tasa Tasa ITBMS1 ITBMS2 ITBMS3 ITBMS4 invlida** invlida** invlida** invlida** -> -> -> -> -> -> -> -> -> ERROR_0 ERROR_0 ERROR_4 ERROR_92 ERROR_1 ERROR_1 ERROR_2 ERROR_3 ERROR_4

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

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

*estados no vlidos: todos menos EST_DOC (los 4 estados a los que hace referencia) 3.8. Comandos de control de la impresora 3.8.1 FeedReceipt - Avanzar papel de facturas Si n de lnea es invlido* -> * n vlidos: 0 a 99
Pgina 122 de 129

ERROR_1

3.8.2 CutPaper - Cortar papel de factura Nunca da error* *nunca da error, pero dentro de un documento el comando es ignorado. 3.9. Comandos de fecha, hora, encabezamiento y cola de documentos 3.9.1. SetDateTime - Ingresar fecha y hora Fecha no vlida Hora no vlida Fecha y hora nuevas son anteriores a la actual Ya se cambi fecha/hora (1 cambio por jornada) Estado no vlido* * estados no vlidos: todos menos INI_JF 3.9.2. GetDateTime - Consultar fecha y hora Estado no vlido* -> ERROR_0 -> -> -> -> -> ERROR_1 ERROR_2 ERROR_0 ERROR_0 ERROR_0

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

ERROR_0 ERROR_1 ERROR_2 ERROR_92

ERROR_0 ERROR_1 ERROR_2 ERROR_92

*estados no vlidos: NO INI y BLOCKED ** n vlidos: 0 a 10 3.9.6. GetTrailer - Consultar texto de cola de facturas Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED * n vlidos: 0 a 10 3.9.7. SetCustExtraData - Programacin de Datos adicionales del Comprador Estado no vlido* Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento*** -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_92 -> -> ERROR_0 ERROR_1

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

*estados no vlidos: NO INI , BLOCKED, AUDIT_NEXT_TO_FULL y AUDIT_FULL ** n vlidos: 0 a 5 3.10. Comandos de gaveta de dinero 3.10.1 OpenDrawer1 - Abrir gaveta 1 Nunca da error. 3.10.2 OpenDrawer2 - Abrir gaveta 2 Nunca da error. 3.12. Comandos de domicilio fiscal 3.12.1. SetFiscalAddress - Programacin de Lneas de Domicilio Fiscal Estado no vlido Si n de lnea es invlido** Si el texto es invlido Si existe error de grabacin /almacenamiento*** -> -> -> -> ERROR_0 ERROR_1 ERROR_2 ERROR_92

Pgina 124 de 129

*estados no vlidos: NO INI , BLOCKED y EST_DOC **n vlidos: 0 a 10 ***Se activa el bit 5 del Status Fiscal 3.12.2. GetFiscalAddress - Consulta de Lneas de Domicilio Fiscal Estado no vlido* Si n de lnea es invlido** *estados no vlidos: NO INI y BLOCKED * n vlidos: 0 a 10 3.13. Comandos de la memoria de auditora 3.13.1. GetPublicKey - Leer clave pblica Estado no vlido* -> ERROR_0 INI_JF, EN_JF , WAIT_KILL , KILLED, AU-> -> ERROR_0 ERROR_1

*estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL

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

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

3.13.4. GetAuditNextBlock - Obtener siguiente bloque de registro de cinta de auditora Estado no vlido* Se pide NextBlock antes de pedir FirstBlock -> -> ERROR_0 ERROR_0

Pgina 125 de 129

*estados no vlidos: todos menos DIT_NEXT_TO_FULL y AUDIT_FULL

INI_JF,

EN_JF

WAIT_KILL

KILLED,

AU-

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

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

->

ERROR_0 WAIT_KILL, KILLED, AU-

EN_JF,

Pgina 126 de 129

Apndice 11: Mapa de errores


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

Pgina 127 de 129

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


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

Pgina 128 de 129

Enero 20, 2012 Rev. 003


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

Pgina 129 de 129

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