Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ELEPOS
ELECTRNICA Y PUNTOS DE VENTA C.A.
Caracas-Venezuela
Mar2003
PRECAUCIN
RIESGO DE DESCARGA ELCTRICA
NO ABRIR
IMPORTANTE
PARA REDUCIR EL RIESGO DE DESCARGA ELCTRICA, NO SE DEBE
REMOVER LA TAPA SOBRE LA CUAL SE ENCUENTRA COLOCADA LA
IMPRESORA. LAS PARTES O PIEZAS EN EL INTERIOR SOLO
PUEDEN SER MANIPULADAS POR PERSONAL AUTORIZADO.
ADVERTENCIA
LA VIOLACIN DEL PRECINTO DE SEGURIDAD DE LA
IMPRESORA FISCAL POR PERSONAL NO AUTORIZADO
DAR LUGAR A SANCIONES Y MULTAS POR PARTE DEL
ORGANISMO DE HACIENDA.
CUALQUIER IRREGULARIDAD OBSERVADA EN ESTE
SENTIDO SER REPORTADA DE INMEDIATO A LA
AUTORIDAD RESPECTIVA YA QUE ESTO COMPROMETE
DE
MANERA
SIGNIFICATIVA
LA
INFORMACIN
ALMACENADA EN LA MEMORIA FISCAL.
Todos los derechos reservados. Este documento, en su totalidad o en partes, no puede ser
reproducido o transmitido de ninguna forma o por ningn medio ya sea electrnico,
mecnico, fotocopiado, grabado, etc., sin el consentimiento expreso y por escrito de
Elepos electrnica y puntos de venta.
Aunque se han tomado todas las precauciones en la elaboracin de este manual,
Minisistemas de Computacin no asume ninguna responsabilidad por errores u omisiones.
Tampoco asume ninguna responsabilidad por daos resultantes del mal uso de la
informacin contenida en este manual.
Minisistemas de Computacin no se responsabiliza con el comprador o terceros por daos,
prdidas, o gastos incurridos por el comprador o terceros como resultado de: accidente,
mal uso o abuso de este producto, o modificaciones, reparaciones o alteraciones
realizadas sin autorizacin.
IMPORTANTE: El contenido de este manual est sujeto a cambios sin previo aviso.
Copyright 2003 por Elepos electrnica y puntos de venta, c.a., Caracas, Venezuela.
Manual de Usuario
NDICE
NDICE.............................................................................................................i
NDICE DE TABLAS ......................................................................................... iv
NDICE DE FIGURAS ....................................................................................... iv
INTRODUCCIN ..............................................................................................1
EL CONTROLADOR FISCAL ...............................................................................2
ESPECIFICACIONES GENERALES .......................................................................4
DESCRIPCIN GENERAL ................................................................................................. 4
ESPECIFICACIONES ELCTRICAS.................................................................................. 4
CONDICIONES AMBIENTALES ....................................................................................... 4
PANEL DE CONEXIN DE LOS CABLES ........................................................................ 4
CONFIGURACIN DEL PUERTO SERIAL....................................................................... 5
DEFINICIN DE ESTADOS ................................................................................6
Estado de Espera.......................................................................................................... 6
Inicio de Venta.............................................................................................................. 6
Venta .............................................................................................................................. 7
Subtotal.......................................................................................................................... 7
Pago ............................................................................................................................... 7
Fin Venta........................................................................................................................ 7
No Fiscal ........................................................................................................................ 7
Programacin ................................................................................................................ 7
Error ............................................................................................................................... 7
Inicio Devolucin .......................................................................................................... 8
Devolucin..................................................................................................................... 8
DEFINICIN DEL STATUS.................................................................................8
STATUS DE INICIALIZACIN (CK_STI)........................................................................ 9
Inicializacin.................................................................................................................. 9
Reloj Detenido .............................................................................................................. 9
Fecha Invlida............................................................................................................... 9
Lnea Header/Trailer Invlida..................................................................................... 9
Primera Inicializacin Realizada ................................................................................. 9
STATUS DE VENTA (CK_STV) ...................................................................................... 10
Comprobante Fiscal Abierto...................................................................................... 10
Comando de Venta Efectuado.................................................................................. 10
Subtotal Realizado...................................................................................................... 10
Anulacin de Pago...................................................................................................... 10
Comando de Pago Efectuado ................................................................................... 10
Comprobante No Fiscal Abierto................................................................................ 11
Periodo de Ventas Empezado................................................................................... 11
STATUS DE IMPUESTO (CK_IMP) ............................................................................... 11
Reporte X..................................................................................................................... 11
i
COMANDOS DE VENTA.................................................................................................. 31
Abrir un Comprobante Fiscal .................................................................................... 32
Abrir comprobante fiscal y retornar el nmero del comprobante abierto ......... 32
Venta de Artculo........................................................................................................ 33
Anulacin de Artculo ................................................................................................. 34
Subtotal........................................................................................................................ 35
Pago ............................................................................................................................. 36
Anulacin de Pago...................................................................................................... 37
Cancelar un Comprobante Fiscal ............................................................................. 38
Cerrar un Comprobante Fiscal.................................................................................. 39
Devolucin de Artculo............................................................................................... 40
Anulacin de la Devolucin de un Artculo............................................................. 40
Descuento sobre Artculo .......................................................................................... 41
Anulacin de Descuento sobre Artculo .................................................................. 42
Descuento sobre Total............................................................................................... 43
Imprimir una Lnea no Fiscal .................................................................................... 44
Avance de Lnea ......................................................................................................... 44
Reset-Power-On ......................................................................................................... 44
Solicitar actualizacin del Status.............................................................................. 44
COMANDOS DE IMPRESIN DE REPORTES .............................................................. 45
Reporte Z..................................................................................................................... 45
Reporte X..................................................................................................................... 46
Reporte de Memoria por Rango de Reportes Z..................................................... 46
Reporte de Memoria por Rango de Fecha.............................................................. 47
Reporte Electrnico.................................................................................................... 48
COMANDOS NO FISCALES Y DE IMPRESIN ............................................................ 53
Abrir un Comprobante no Fiscal .............................................................................. 53
Cerrar un Comprobante no Fiscal ............................................................................ 54
Imprimir una Lnea no Fiscal .................................................................................... 54
Abrir la Gaveta ............................................................................................................ 55
Comunicacin con los Puertos Seriales 1 y 2......................................................... 56
Status de la Impresora Fiscal ................................................................................... 57
Versin de Firmware.................................................................................................. 58
COMANDOS DE IMPRESIN DE DOCUMENTOS ....................................................... 58
Seleccionar Estacin de Documentos...................................................................... 58
Enviar una Lnea a Estacin de Documentos......................................................... 59
IMPRESIN EN LA ESTACIN DE DOCUMENTOS .............................................. 61
APNDICE ..................................................................................................... 62
STATUS DE LA IMPRESORA FISCAL............................................................................ 62
TABLA DE VALIDACIN DE LOS COMANDOS POR ESTADOS................................. 64
iii
NDICE DE TABLAS
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
Tabla
NDICE DE FIGURAS
Figura 1 Parte posterior de la Impresora Fiscal .............................................................. 4
iv
INTRODUCCIN
El presente manual tiene como finalidad ofrecer al lector una referencia para
comenzar a usar la Impresora Fiscal, ya sea como programador o como usuario final.
Entre las cosas que el lector encontrar mas adelante se encuentra una descripcin
completa de la funcionalidad del controlador fiscal tanto a nivel operativo como tcnico.
Tambin se encontrarn todas las especificaciones necesarias para la configuracin
de la Impresora Fiscal y los diferentes comandos que hacen posible el funcionamiento de
la misma. Se tienen diversas posibilidades para programar dependiendo de la plataforma o
sistema operativo sobre el cual se encuentre la aplicacin de ventas. Las plataformas o
sistemas operativos soportados son WIN32, UNIX y prximamente LINUX, MS-DOS y
WIN16.
Pgina 1
EL CONTROLADOR FISCAL
El controlador fiscal es un dispositivo perifrico el cual tiene como finalidad la
emisin de comprobantes fiscales de ventas y el almacenamiento de los montos de las
mismas en una memoria fiscal.
La caracterstica ms resaltante que diferencia a la Impresora Fiscal de una
impresora de tickets comn es la comunicacin entre la computadora y la impresora. La
comunicacin con la Impresora Fiscal es mediante un set de comandos propios de Elepos
electrnica y puntos de venta, la Impresora Fiscal ejecutar o no la operacin
relacionada al comando segn las operaciones que se hayan realizado, en cambio a una
impresora comn se le debe mandar un comando de impresin con los caracteres que se
desean imprimir y lo realizar independientemente de las operaciones de venta o reporte
que se estn realizando y no permite almacenamiento de informacin en la memoria
fiscal.
Con la Impresora Fiscal se puede realizar venta de artculos o anulacin de los
mismos, descuento sobre artculos o sobre el total de la transaccin, notas de crdito,
reportes de ventas diarias o por periodos de tiempo, reportes fiscales, etc.
La Impresora Fiscal almacena la informacin de todas las transacciones efectuadas
en ella desde su instalacin. Permite llevar el registro de las ventas efectuadas en el
periodo de ventas en curso (reporte X), realiza el cierre de caja diario almacenando la
informacin en la memoria fiscal (reporte Z) y permite acceder a toda la informacin
almacenada en la memoria fiscal (reporte de memoria y reporte electrnico).
Todas las operaciones realizadas por la Impresora Fiscal se dividen o clasifican en
estados, logrando as mayores facilidades. Con esta modalidad los comandos a ejecutar
sern restringidos por el estado en que se encuentre la Impresora Fiscal.
La Impresora Fiscal comienza sus operaciones en un estado inicial (Estado de
Espera) en el que son vlidas todas las operaciones. Al encender la Impresora Fiscal se
Pgina 2
Espera.
Pgina 3
ESPECIFICACIONES GENERALES
DESCRIPCIN GENERAL
ESPECIFICACIONES ELCTRICAS
Voltaje de operacin
110 VAC
CONDICIONES AMBIENTALES
Temperatura
Humedad
0 50C
10 90%
Puertos
seriales
adicionales
Puerto
serial DB 9
Interruptor
de corriente
Conector de
alimentacin
Pgina 4
La computadora debe ser conectada a la Impresora Fiscal a travs del puerto serial
DB9 mediante un cable serial.
Los otros dos puertos seriales se pueden utilizar para conectar visores u otros.
La Impresora Fiscal se conecta a la fuente de alimentacin AC a travs del
conector que se encuentra en la parte posterior de la Impresora.
9600
8
Ninguna
1
Xon/Xoff
Pgina 5
DEFINICIN DE ESTADOS
Como ya se ha mencionado las funcionalidades de la Impresora Fiscal estn
clasificadas por estados, cada una de las posibles operaciones a realizar son permitidas en
determinados estados. Estos estados sealan la etapa del proceso donde se encuentra la
Impresora Fiscal, ya sea realizando un comprobante fiscal o un reporte, etc.
El estado actual de la Impresora Fiscal se puede obtener al solicitar el Status,
siendo el octavo byte del mismo. El comando de solicitud de Status es vlido en cualquier
estado, inclusive en el estado de error.
En Espera
Inicio Venta
Venta
Subtotal
Pago
Fin Venta
No Fiscal
Programacin
Error
Inicio Devolucin
Devolucin
Estado de Espera
Es el estado inicial de la Impresora Fiscal. En este estado la Impresora Fiscal se
encuentra lista que recibir los comandos de inicio de venta, de devolucin, de algn
reporte, de programacin (si se encuentra la inicio de un periodo de venta) o no fiscales.
Inicio de Venta
La Impresora Fiscal se coloca en este estado luego de abrir un Comprobante
Fiscal. Este estado permitir realizar ventas de artculos, anulaciones de los mismos,
descuentos sobre artculos vendidos o anular el Comprobante Fiscal.
Pgina 6
Venta
El Estado de Venta permite realizar venta de artculos o anulacin de las mismas.
Permite pasar al Estado de subtotal o anular el comprobante y pasar al Estado de Espera.
Subtotal
La Impresora Fiscal pasa a este estado una vez realizado el subtotal y slo se
permitir realizar pagos.
Pago
Realizado algn pago la Impresora Fiscal se encuentra en el Estado de Pago en el
cual se permite realizar todos los pagos necesarios hasta completar el monto de la venta.
Tambin permite anular alguno de los pagos realizados.
Fin Venta
Este estado se activa cuando se est realizando el comando de cierre de
Comprobante Fiscal. Permite poder culminar el comprobante si ocurre interrupcin de la
energa antes de la finalizacin del comando antes mencionado.
No Fiscal
Al abrir un Comprobante no Fiscal la Impresora pasa al Estado No Fiscal, en el cual
permite imprimir lneas no fiscales y cerrar el Comprobante no Fiscal.
Programacin
Para accesar a este estado se debe estar al inicio de un periodo de ventas (el
ltimo comando realizado debe ser un reporte Z ya que el periodo de venta se inicia con
un reporte Z). Este estado permite realizar los comandos necesarios para programar la
Impresora Fiscal segn los requerimientos del usuario.
Error
La Impresora Fiscal pasa al Estado de Error cuando hay alguna condicin anormal
en la Impresora. Estas condiciones pueden ser memoria fiscal no conectada, fecha y hora
no vlidas o menor a la del ltimo reporte z efectuado. La Impresora saldr de este estado
cuando se resuelva la situacin de error y volver al estado en que se encontraba antes
del problema.
Pgina 7
Inicio Devolucin
Al abrir un Comprobante Fiscal como Nota de Crdito la Impresora Fiscal pasa a
este estado en el cual permitir realizar devoluciones, anulaciones de las mismas o anular
el Comprobante Fiscal en curso.
Devolucin
El Estado de Devolucin permite realizar devoluciones o anulacin de las mismas
as como subtotalizar la transaccin.
Pgina 8
Inicializacin
Reservado
Reloj Detenido
Fecha Invlida
Lnea Header/Trailer invlida
Primera Inicializacin Realizada
-
Inicializacin
- Fuera de Inicializacin = 0
- Dentro de Inicializacin = 1
Reloj Detenido
- Funcionamiento normal = 0
- Reloj detenido = 1
Fecha Invlida
- Fecha vlida = 0
- Fecha invlida = 1
Lnea Header/Trailer Invlida
- Lnea vlida = 0
- Lnea invlida = 1
Primera Inicializacin Realizada
- Sin realizar la primera inicializacin = 0
- Primera inicializacin realizada = 1
Pgina 9
Pgina 10
Reporte X
Anulacin de Artculo
Artculo Exento de Impuesto
Reporte Z
Tasa de Impuesto 3
Tasa de Impuesto 2
Tasa de Impuesto 1
Tabla 5 Status de Impuesto
Reporte X
- Otro reporte = 0
- Reporte X = 1
Anulacin de Artculo
- Otra operacin = 0
- Anulacin de artculo = 1
Artculo Exento de Impuesto
- Artculo no exento = 0
- Artculo exento = 1
Pgina 11
Reporte Z
- Otro reporte = 0
- Reporte Z = 1
Tasa de Impuesto 3
- Otro impuesto = 0
- Impuesto 3 = 1
Tasa de Impuesto 2
- Otro impuesto = 0
- Impuesto 2 = 1
Tasa de Impuesto 1
- Otro impuesto = 0
- Impuesto 1 = 1
Pgina 12
Pgina 13
Impuesto Incluido
Cerrando Ticket
Reservado
Reservado
Reservado
Reservado
Reservado
-
Impuesto Incluido
Indica el mtodo de impuesto implementado en la impresora fiscal.
- Excluido = 0
- Incluido = 1
Cerrando Ticket
Indica que se est ejecutando el comando de cierre de ticket.
Fecha de impresin 03/03/2006 09:32 AM
Pgina 14
- En otra operacin = 0
- Cerrando ticket = 1
Reservado
Reservado
Reservado
Tabla 9 Status de Validacin
Pgina 15
PROGRAMACIN
La Impresora Fiscal trabaja por medio de un set de comandos, cada uno de ellos
representa operaciones especficas en la Impresora Fiscal.
Los comandos son enviados a la Impresora Fiscal desde una computadora o host.
La comunicacin entre la Impresora Fiscal y la computadora se realiza serialmente.
La interfaz de manejo de los comandos se realiza a travs de una aplicacin (dll)
desarrollada en Visual C++ v 6.00. Est aplicacin consta de unas funciones bsicas que,
segn el cdigo del comando y los parmetros, permitirn realizar todas las operaciones
de la Impresora Fiscal.
Una vez que la Impresora Fiscal ha procesado el comando y efectuado las
operaciones correspondientes al mismo enva a la computadora una respuesta indicando si
ya se realiz satisfactoriamente o no.
Entre los posibles comandos de la Impresora Fiscal se encuentran los comandos de
programacin, los cuales estn relacionados con la configuracin interna de la Impresora
Fiscal, propia para cada usuario. Tambin estn los comandos de venta que son todos los
relacionados con un comprobante fiscal, ya sea normal, factura o nota de crdito. Luego,
los comandos de impresin de reporte permiten almacenar la informacin en la memoria
fiscal como tambin tener acceso a la informacin almacenada. Los comandos no fiscales
o de impresin permiten realizar comprobante no fiscales as como tambin solicitar el
Status de Impresora y obtener informacin sobre el modelo de la Impresora Fiscal.
En las siguientes pginas se desglosarn cada uno de los comandos, distribuidos
en grupo de comandos. En cada comando se especificar la estructura del comando y los
parmetros que involucra, as como las operaciones que requiere y las que realizar.
Pgina 16
FUNCIONES
A continuacin se presentan las funciones bsicas con las que se formarn los
comandos y las que permitirn la comunicacin con el puerto serial.
Versin del DLL
void msc_version (char * Parm1)
Descripcin
Parmetros
Parm1
Retorno de la funcin
No aplica.
Ejemplo
char ls_version[5]
msc_version (&ls_versin[0])
Descripcin
Parmetros
parm1
Retorno de la funcin
Ejemplo
__int16 device;
Pgina 17
Descripcin
Parmetros
device
Retorno de la funcin
Ejemplo
msc_closeport(device);
Recepcin de Datos
__Int16 msc_read_serial (__int16 device, __int16 num_bytes, char *rx_buffer);
Descripcin
Parmetros
device
num_bytes
rx_buffer
Retorno de la funcin
Ejemplo
Pgina 18
__int16 retorno;
retorno = msc_read_serial (device, 1, &rx_buffer[0]);
Transmisin de Datos
__Int16 msc_write_serial (__int16 device, __int16 num_bytes, char *tx_buffer);
Descripcin
Con esta funcin se enva num_bytes caracteres de tx_buffer a travs del puerto
serial identificado en device.
Parmetros
Device
Num_bytes
tx_buffer
Ejemplo
Retorno de la funcin
Descripcin
Parmetros
id_comando
Pgina 19
device
max_intentos
check
status
Ejemplo
Retorno de la funcin
Transferencia de Datos
__int16 msc_dataio (__int16 id_comando, char * parm1, char * parm2, char * parm3,
char * parm4, char * parm5, __int16 device,__int16 max_intentos,__int16 check, char *
respuesta );
Descripcin
Parmetros
id_comando
Pgina 20
parm1 al parm5
device
max_intentos
check
status
Ejemplo
Retorno de la funcin
Configuracin
__int16 msc_setup (__int16 id_comando, char * parm1, char * parm2, char * parm3,
char * parm4, char * parm5, __int16 device,__int16 max_intentos,__int16 check, char *
status )
Pgina 21
Descripcin
Parmetros
id_comando
parm1 al parm5
device
max_intentos
check
status
Retorno de la funcin
Conversin
void BitToByte (char * parm1, char * parm2)
Descripcin
Pgina 22
Parmetros
parm1
parm2
Ejemplo
char ls_origen[2];
//Se debe declarar un carcter ms para el terminador
nulo
char ls_destino[9]; //Se debe declarar un carcter ms para el terminador
nulo
ls_origen [0] = 0x01010101b //Dgito binario correspondiente al nmero
85 decimal
BitToByte (ls_origen, &ls_destino[0]);
Luego de ejecutar la funcin, ls_destino contendr la cadena:
ls_destino = 01010101
Retorno de la funcin
No aplica.
Pgina 23
COMANDOS DE PROGRAMACIN
Para tener acceso a los comandos de programacin la Impresora Fiscal debe estar
en Estado de Programacin. A este estado se accede con el comando "Inicializacin de la
Impresora Fiscal" validado con una clave.
Adicionalmente, para entrar en Estado de Programacin la Impresora Fiscal debe
estar al inicio de un periodo de ventas, es decir, despus de un cierre de caja (reporte Z).
Con los comandos de Programacin pueden realizarse modificaciones de fecha,
hora, tasas de impuesto, etc.
Mientras se est en el Estado de Programacin no se puede realizar ninguna
operacin relacionada con otro grupo de comandos que no sean los comandos de
programacin. Con el comando "Salir de Inicializacin" se vuelve al Estado de Espera.
Para realizar estos comandos se utiliza la funcin de Configuracin y de
Transferencia de datos.
Descripcin
Este comando concede validez a los dems comandos de programacin, los cuales
pueden modificar los parmetros de la Impresora Fiscal.
El comando se valida con una clave de 8 caracteres.
Parmetros
id_comando
parm1
1
String de 8 caracteres con la clave.
Ejemplo
__int16 retorno;
char status[9];
Pasos
Pgina 24
Banderas
Chequea la bandera
Modifica la bandera
Estado permitido
Estado actual
Descripcin
Con este comando se modifica la fecha y la hora del dispositivo fiscal. Slo permite
adelantar la fecha y la hora respecto a la del ltimo reporte Z realizado.
En la estructura del comando no se debe colocar ningn separador en la fecha ni
en la hora. La hora se coloca en modo de 24 horas.
Este comando es permitido en Estado de Programacin y en Estado de Error ( slo
si hubo algn problema con el reloj de la Impresora Fiscal).
Parmetros
id_comando
parm1
Ejemplo
3
String de 12 caracteres
DDMMAAAAHHMM
con
el
siguiente
formato
Para cambiar la fecha y la hora a: 6 de Julio del 2000 a las 3:45pm se debe enviar
la siguiente trama:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_dataio (3, 060720001545 , , , , , device, 1, 1,
&status[0]);
Pasos
Banderas
Modifica la bandera
Fecha invlida
Pgina 25
Estado permitido
Programacin
Error
Programacin
Edo. donde se encontraba antes del error
Estado actual
Descripcin
Parmetros
id_comando
parm1
parm2
8
DOH. Cadena de caracteres. 10 caracteres en formato ASCII.
RIF. Cadena de caracteres. 15 caracteres en formato ASCII
alineados a la izquierda.
Ejemplo
SENIAT
RIF. J0000000000
__int16 retorno;
char status[9];
Pasos
Banderas
Estado permitido
Estado actual
Programacin
Programacin
Pgina 26
Descripcin
Parmetros
id_comando 2
parm1
parm2
Ejemplo
SENIAT
RIF. J0000000000
ABC c.a.
2 lneas de Header
Pasos
;;; , , , ,
Banderas
Modifica la bandera
Estado permitido
Estado actual
Pgina 27
Descripcin
Parmetros
id_comando
parm1
Parm2
3
Nmero de lnea a grabar. Formato ASCII.
Cadena de caracteres. 40 caracteres en formato ASCII.
Ejemplo
Efectivo
900,00
2 lneas de Trailer
Vuelva pronto!
TOTAL
Bs. 900,00
Lnea de trailer 1:
__int16 retorno;
char status[9];
Pasos
Vuelva pronto!
;;;, , , ,
Banderas
Modifica la bandera
Estado permitido
Estado actual
Pgina 28
Descripcin
Permite guardar hasta 3 tasas de impuesto diferentes. Las tasas siempre deben
tener dos decimales (aunque el valor de la tasa sea cero) sin importar el nmero de
decimales con que est trabajando la impresora fiscal.
Siempre se deben enviar las tres tasas de impuesto en el comando, sin ninguna
separacin entre ellas.
Parmetros
id_comando 4
parm1
parm2
parm3
Ejemplo
Para colocar las tasas 14,50%, 8,00% y 0,00% se debe enviar el siguiente
comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_setup (4, 1450, 0800, 0000, , , device, 1, 1, &status[0]);
Pasos
Banderas
Estado permitido
Estado actual
Programacin
Programacin
Descripcin
Parmetros
id_comando 5
parm1
parm2
Pgina 29
parm3
Ejemplo
Bs..
__int16 retorno;
char status[9];
Pasos
Banderas
Estado permitido
Estado actual
Programacin
Programacin
Descripcin
Parmetros
id_comando
parm1
6
Nueva clave. 8 caracteres en formato ASCII.
Ejemplo
Pasos
Banderas
Estado permitido
Estado actual
Programacin
Programacin
Pgina 30
Salir de Inicializacin
Descripcin
Este comando permite salir del modo de Programacin. La Impresora Fiscal pasa al
Estado de Espera.
Parmetros
id_comando 7
Ejemplo
__int16 retorno;
char status[9];
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Inicializacin (desactivada)
Programacin
Espera
COMANDOS DE VENTA
Los comandos de venta son los comandos referentes al Comprobante Fiscal, ya sea
normal, factura o nota de crdito. Se accede a estos comandos cuando se abre un
Comprobante Fiscal y slo se puede salir de los mismos cuando se anula el Comprobante
Fiscal o cuando este se cierra (verificando previamente que el vuelto de la transaccin sea
mayor o igual).
Luego de realizadas algunas ventas o devoluciones (segn si se abri un
comprobante normal o una nota de crdito) y ejecutado el comando de subtotal no se
puede realizar ninguna otra venta o devolucin. Despus de la realizacin de un pago slo
se puede realizar otro pago, anulacin de pago o cierre del Comprobante Fiscal.
La Impresora Fiscal permite imprimir cualquier palabra excluyendo la palabra
TOTAL (en minscula o en mayscula).
Estos comandos utilizan la funcin de Impresin.
Pgina 31
Descripcin
Parmetros
Id_comando 1
parm1
Ejemplo
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Descripcin:
Parmetros:
Fecha de impresin 03/03/2006 09:32 AM
Pgina 32
parm1
parm1
Id_comando =
34
=
Indica el tipo de comprobante fiscal, puede tomar los
siguientes valores:
0
Comprobante fiscal
1
Factura
2
Nota de Crdito
=
Indica si se desea recibir el nmero de comprobante:
&
Si
0xFF No
Retorna:
En la variable pasada por referencia status se retornar la data que retorne la
impresora.
El formato ser el siguiente:
<STX>Nmero en formato ASCII<ETX><ACK>
Ejemplo:
//Para abrir un Comprobante fiscal y retornar el nmero
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime(1, 0 ,& , , , , device , 1, 1, &status[0]);
Si el comprobante recin abierto fuese el nmero 143, la variable status
contendra la siguiente cadena:
<STX>143<ETX><ACK>
O sea, 6 bytes incluyendo el ACK.
Venta de Artculo
Descripcin
Parmetros
id_comando 2
parm1
Pgina 33
parm2
parm3
Ejemplo
Para vender un artculo (Artculo de prueba) con precio de Bs. 1500,00 y exento
de impuesto se debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (2, Articulo de prueba , 150000, 0, , , device,
1, 1, &status[0]);
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Anulacin de Artculo
Descripcin
Pgina 34
Parmetros
id_comando 3
parm1
parm2
parm3
Ejemplo
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Subtotal
Descripcin
Con este comando la Impresora Fiscal calcula el subtotal de las ventas realizadas
hasta el momento, para lo cual revisa si se ha efectuado alguna venta. Si la bandera de
Pago est activa no realiza esta operacin. Guarda los acumulados en la memoria de
trabajo. Imprime el subtotal tanto de venta como de impuesto y la suma de ambos.
Parmetros
id_comando 20
Ejemplo
__int16 retorno;
Pgina 35
char status[9];
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Subtotal (activa)
Venta
Subtotal
Pago
Descripcin
Parmetros
id_comando 22
parm1
parm2
Ejemplo
Para realizar un pago en efectivo por un monto de Bs. 1000,00, se debe enviar el
siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (22, 100000 ,Efectivo
, , , , device, 1,
1, &status[0]);
Pgina 36
Pasos
Banderas
Chequea la bandera
Modifica la bandera
Estado permitido
Estado actual
Anulacin de Pago
Descripcin
Parmetros
id_comando 23
parm1
parm2
Ejemplo
Para anular un pago en efectivo por un monto de Bs. 1000,00, se debe enviar el
siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (23, 100000, Efectivo
, , , , device, 1, 1,
&status[0]);
Pasos
Pgina 37
3.
4.
5.
6.
7.
Banderas
Chequea la bandera
Modifica la bandera
Estado permitido
Estado actual
Descripcin
Parmetros
id_comando 9
Ejemplo
Pasos
Banderas
Modifica la bandera
Pgina 38
Estado permitido
Estado actual
Descripcin
Parmetros
id_comando 24
Ejemplo
Pasos
Banderas
Chequea la bandera
Modifica la bandera
Estado permitido
Estado actual
Pgina 39
Devolucin de Artculo
Descripcin
Parmetros
id_comando 4
parm1
parm2
parm3
Ejemplo
Para devolver un artculo (Artculo de prueba) con precio de Bs. 1500,00 y exento
de impuesto se debe enviar el siguiente comando:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (4, Articulo de prueba , 150000, 0, , , device,
1, 1 , &status[0]);
Pasos
devolucin.
2. Realiza la devolucin.
3. Activa la bandera de Devolucin.
4. Se coloca en el Estado de Devolucin.
Banderas
Modifica la bandera
Estado permitido
Estado actual
Devolucin
Inicio de Devolucin
Devolucin
Devolucin
Descripcin
Pgina 40
artculo.
Parmetros
id_comando 5
parm1
parm2
parm3
Ejemplo
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Devolucin
Devolucin
Devolucin
Descripcin
Parmetros
id_comando 6
parm1
parm2
parm3
parm4
Nulo
Descripcin. String de 20 caracteres
Monto. String de 10 caracteres
Impuesto. String de 1 carcter
Pgina 41
Ejemplo
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Descripcin
Parmetros
id_comando 7
parm1
parm2
parm3
Ejemplo
Pgina 42
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Descripcin
Parmetros
id_comando
parm1
parm2
parm3
parm4
parm5
Ejemplo
8
Descripcin del descuento. String de 20 caracteres
Monto a descontar de total exento. String de 12 caracteres.
Monto a descontar de total impuesto 1. String de 12
caracteres.
Monto a descontar de total impuesto 2. String de 12
caracteres.
Monto a descontar de total impuesto 3. String de 12
caracteres.
Pgina 43
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Descripcin:
Parmetros:
id_comando
98
Ejemplo:
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (99, , , , , , device , 1, 1, &status[0]);
Descripcin:
Parmetros:
id_comando
99
Ejemplo:
Fecha de impresin 03/03/2006 09:32 AM
Pgina 44
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (99, , , , , , device , 1, 1, &status[0]);
Descripcin
El reporte Z es el reporte de cierre de ventas para una Impresora Fiscal con el cual
se guardan los acumulados diarios en la memoria fiscal y se inicia un nuevo periodo de
venta.
Este comando es vlido en cualquier estado de la Impresora Fiscal menos en el
Estado de Programacin. Si se est realizando una transaccin al momento de enviar este
comando primero se anular el comprobante y luego se realizar el reporte. Si ya se haba
realizado un subtotal la transaccin ser finalizada antes de realizar el reporte.
Si estaba en curso un comprobante no fiscal, el mismo ser cerrado y luego se
realizar el reporte Z.
Si por alguna razn se apaga la Impresora Fiscal durante la realizacin de este
reporte, al reiniciarla se vuelve a realizar el reporte.
Parmetros
id_comando 42
Ejemplo
__int16 retorno;
char status[9];
Pasos
Pgina 45
Banderas
Modifica la bandera
Estado permitido
Estado actual
Reporte Z (activa)
Todos menos Programacin y Error
Espera
Reporte X
Descripcin
Parmetros
id_comando 40
Ejemplo
__int16 retorno;
char status[9];
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Reporte X (activa)
Espera
Espera
Descripcin
Fecha de impresin 03/03/2006 09:32 AM
Pgina 46
Parmetros
id_comando 44
parm1
parm2
Ejemplo
Para emitir un reporte desde la Z nmero 950 hasta la 1200 se debe enviar el
siguiente comando.
__int16 retorno;
char status[9];
//Se debe reservar 1 carcter de ms para el
terminador nulo
retorno = msc_imprime (44, 0950, 1200, , , , device, 1, 1, &status[0]);
Pasos
1.
2.
3.
4.
Banderas
Chequea la bandera
Estado permitido
Estado actual
Reporte de Memoria
Espera
Espera
Descripcin
Parmetros
id_comando
parm1
parm2
46
Fecha inicial. 8 caracteres ASCII con el formato DDMMAAAA.
Fecha final. 8 caracteres ASCII con el formato DDMMAAAA.
Ejemplo
Pgina 47
Pasos
1.
2.
3.
4.
Banderas
Chequea la bandera
Estado permitido
Estado actual
Reporte de Memoria
Espera
Espera
Reporte Electrnico
Descripcin
Pgina 48
Memoria Fiscal
Campo
Descriptor del Organismo de Hacienda
Nmero de RIF
Tasa de impuesto 1
Tasa de impuesto 2
Tasa de impuesto 3
Nmero de decimales
Descriptor de la moneda
Abreviacin de la moneda
Mtodo de impuesto
Serial de la impresora fiscal
Fecha
Hora
Nmero del ltimo reporte Z
Fecha y hora del mismo
Total venta exenta
Total venta impuesto 1
Total venta impuesto 2
Total venta impuesto 3
Total impuesto 1
Total impuesto 2
Total impuesto 3
Total devoluciones
Total impuesto devoluciones
Nmero de Comprobantes fiscales diario
Nmero de Comprobantes fiscales vida
Fecha y hora ltimo Comprobante fiscal
Nmero Comprobantes no fiscales diario
Nmero Comprobantes no fiscales vida
Nmero Comp. fiscales anulados diarios
Nmero de Comp. fiscales anulados vida
Nmero de decimales
Abreviatura de la moneda
Serial de la impresora fiscal
Fecha
Bytes
10
15
4*
4*
4*
1
10
3
1
10
8
4
4*
12
12*
12*
12*
12*
12*
12*
12*
12*
12*
6*
10*
12
6*
10*
6*
10*
1
3
10
8
Pgina 49
Tipo de reporte
Campo
Bytes
Hora
4
Memoria de trabajo
Total venta exenta
12*
Total venta impuesto 1
12*
Total venta impuesto 2
12*
Total venta impuesto 3
12*
Total impuesto 1
12*
Total impuesto 2
12*
Total impuesto 3
12*
Total devoluciones
12*
Total impuesto devoluciones
12*
Total descuento
12*
Nmero de Comprobantes fiscales diario
6*
Nmero de Comprobantes fiscales vida
10*
Fecha y hora ltimo Comprobante fiscal
12
Nmero Comprobantes no fiscales diario
6*
Nmero Comprobantes no fiscales vida
10*
Nmero Comp. fiscales anulados diarios
6*
Nmero de Comp. fiscales anulados vida
10*
Serial de la impresora fiscal
10
Fecha
8
Hora
4
Si el mtodo de impuesto es excluido se recibir 0, si es incluido se recibir 1
* Se seala el nmero mximo de caracteres para este campo ya que es variable la
cantidad de dgitos. Los dgitos de este campo estn separados del prximo por un
asterisco (*)
Pgina 50
Pgina 51
POR NUMERO DE Z
<10><13>
DESDE LA Z No.970
<10><13>
A LA Z No.970
<10><13>
No. 14
31/07/2001
16:27<10><13>
----------------------------------------<10><13>
Z No. 970
<10><13>
****** Acumulados de Venta Diaria ******<10><13>
Total Venta Exento Bs.
15.538,20<10><13>
Total Venta Imp. 1 Bs.
26.416,96<10><13>
Total Venta Imp. 2 Bs.
0,00<10><13>
Total Venta Imp. 3 Bs.
0,00<10><13>
Total Imp. 1
Bs.
3.830,46<10><13>
Total Imp. 2
Bs.
0,00<10><13>
Total Imp. 3
Bs.
0,00<10><13>
Total Devol.
Bs.
14.086,00<10><13>
Total Imp. Devol. Bs.
1.267,01<10><13>
<10><13>
**** Estadisticas de Ventas Diarias ****<10><13>
Comp. Fiscales diarios
5<10><13>
Ultimo Comp. Fiscal
6<10><13>
Fecha Ultimo Comp. Fiscal
25/05/2001<10><13>
Hora Ultimo Comp. Fiscal
15:33<10><13>
Comp. No Fiscales diarios
1<10><13>
Ultimo Comp. No Fiscal
1<10><13>
Comp. Anulados diarios
0<10><13>
Total Comp. Anulados
1<10><13>
----------------------------------------<10><13>
*** Acumulados del Periodo Solicitado **<10><13>
Total Venta Exento Bs.
15.538,20<10><13>
Total Venta Imp. 1 Bs.
26.416,96<10><13>
Total Venta Imp. 2 Bs.
0,00<10><13>
Total Venta Imp. 3 Bs.
0,00<10><13>
Total Imp. 1
Bs.
3.830,46<10><13>
Total Imp. 2
Bs.
0,00<10><13>
Total Imp. 3
Bs.
0,00<10><13>
Total Devol.
Bs.
14.086,00<10><13>
Total Imp. Devol. Bs.
1.267,01<10><13>
FIN DEL REPORTE
<10><13>
APA5801902<13><29>VB0<6>
Parmetros
Fecha de impresin 03/03/2006 09:32 AM
Pgina 52
id_comando 1
parm1
Tipo de reporte.
0 = Reporte informativo
1 = Reporte de la memoria fiscal
2 = Reporte de la memoria de trabajo (perodo de
ventas actual)
3 = Reporte de contadores
4 = Dump Electrnico por rango de fecha
5 = Dump Electrnico por rango de Zeta
Ejemplo
Banderas
Estado permitido
Estado actual
Todos
Edo. anterior al reporte
Descripcin
Parmetros
id_comando 30
Ejemplo
Pgina 53
Pasos
1.
2.
3.
4.
Banderas
Modifica la bandera
Estado permitido
Estado actual
Descripcin
Parmetros
id_comando 33
Ejemplo
Pasos
Banderas
Modifica la bandera
Estado permitido
Estado actual
Pgina 54
Descripcin
Permite imprimir una lnea con los n caracteres enviados, donde n es el nmero
mximo de caracteres por lnea. No permite imprimir la palabra TOTAL.
Parmetros
id_comando 32
parm1
String de 40 caracteres.
Ejemplo
Pasos
Banderas
Estado permitido
Estado actual
Inicio de Venta
Subtotal
No Fiscal
Inicio de Devolucin
Estado anterior
Venta
Pago
Devolucin
Abrir la Gaveta
Descripcin
Parmetros
id_comando 25
Ejemplo
__int16 retorno;
char status[9];
Banderas
Estado permitido
Todos
Pgina 55
Estado actual
Estado anterior
Descripcin
Enva los n bytes de datos al puerto seleccionado y espera por la cantidad de bytes
de respuesta definida en el parmetro.
Parmetros
id_comando
parm1
parm2
parm3*
parm4*
parm5
2
Nmero que identifica al puerto al que se desea enviar la
data. Los puertos disponibles son el 1 y el 2. Formato
ASCII.
Nmero de bytes que se estn enviando en parm3. 2
caracteres ASCII.
Nmero de bytes que se esperan de respuesta. 2 caracteres
ASCII.
Time out. Tiempo de espera por la respuesta. 2 caracteres
ASCII.
Cadena de caracteres binarios a enviar. Longitud mxima de
70 caracteres.
Ejemplo
Pgina 56
Banderas
Estado permitido
Estado actual
Espera
Inicio Venta
Venta
Subtotal
Pago
No Fiscal
Devolucin
Inicio de Devolucin
Estado anterior
Descripcin
Parmetros
Id_comando 99
Ejemplo
__int16 retorno;
char status[9];
Banderas
Estado permitido
Estado actual
Todos
Estado anterior
Pgina 57
Versin de Firmware
Descripcin
Parmetros
id_comando 4
Ejemplo
__int16 retorno;
char status[9];
Pasos
Banderas
Estado permitido
Estado actual
Todos
Estado anterior
Descripcin
Parmetros
id_comando 50
parm1
Estacin de impresin
0 = Rollo
Pgina 58
parm2
parm3
Ejemplo
4 = Slip
8 = Validation
Tamao del papel
0 = Cheque
1 = Ticket 1
2 = Ticket 2
Direccin de impresin
0 = Izquierda a derecha
1 = Abajo hacia arriba
2 = Derecha a izquierda
3 = Arriba hacia abajo
Pasos
Banderas
Estado permitido
Estado actual
Espera
Espera
Descripcin
Parmetros
id_comando 52
parm1
Ejemplo
__int16 retorno;
char status[9];
Pgina 59
Pasos
Banderas
Estado permitido
Estado actual
Espera
Espera
Pgina 60
Pgina 61
APNDICE
STATUS DE LA IMPRESORA FISCAL
Status de Inicializacin CK_STI
7 -
7 Reporte X
6 Inicializacin
6 Anulacin de Artculo
5 Reservado
5 Subtotal Realizado
5 Reservado
4 Reloj Detenido
4 Anulacin de Pago
4 Reporte Z
3 Fecha Invlida
2 Lnea Header/Trailer Invlida
3 Tasa de Impuesto 3
2 Tasa de Impuesto 2
1 Tasa de Impuesto 1
1 -
0 -
0 -
0 -
0 -
7 Impuesto Incluido
7 Reservado
6 Cerrando Ticket
6 Reservado
5 Reporte de Memoria
5 Reservado
5 Reservado
4 Reservado
4 -
3 Devolucin
3 Reservado
3 -
2 Reservado
2 -
1 Reservado
1 -
0 -
0 -
0 -
Pgina 62
Pgina 63
id_comando
Comandos
msc_setup
msc_dataio
msc_setup
msc_setup
msc_setup
msc_setup
msc_setup
msc_setup
msc_setup
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
1
3
8
2
3
4
5
6
7
1
24
2
3
20
22
23
9
4
5
30
33
32
44
46
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Estado Actual
6
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
Pgina 64
Edo Sig
7
7
7
7
7
7
7
7
0
1
5
2
2
3
4
4
0
10
10
6
0
EA
0
0
Funcin
id_comando
Comandos
msc_imprime
msc_dataio
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_imprime
msc_dataio
msc_imprime
msc_imprime
msc_imprime
msc_dataio
msc_version
40
1
42
6
7
8
25
2
99
50
52
4
-
Reporte X
Reportes Electrnicos
Reporte Z
Descuento sobre Artculo
Anulacin Descuento Artculo
Descuento sobre Total
Abrir Gaveta
Seleccionar Perifrico
Status
Seleccionar Estacin de Impresin
Enviar Lnea Estacin Documentos
Versin de Firmware
Versin de la Aplicacin
10
0
1
1
1
1
1
1
1
1
0
0
1
1
9
0
1
1
0
0
0
1
1
1
0
0
1
1
8
0
1
0
0
0
0
1
0
1
0
0
1
1
7
0
1
0
0
0
0
1
0
1
0
0
1
1
Estado Actual
6
5
4
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
3
0
1
1
0
0
0
1
1
1
0
0
1
1
2
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
EA Estado Anterior
Pgina 65
Edo Sig
0
EA
0
2
2
2
EA
EA
EA
EA
EA
EA
EA
10
Devolucin
Pgina 66