Manual do Usuário da Impressora MP-4000 TH FI Cód Revisão 1.1 Janeiro de PDF\nManual do Usuário da Impressora MP-4000 TH FI Cód Revisão 1.1 Janeiro de 2010\nDownload "www.bematech.com.br Manual do Usuário da Impressora MP-4000 TH FI Cód. 501.2411.02 - Revisão 1.1 Janeiro de 2010"\nMônica Bardini Brezinski\n2 Manual do Usuário da Impressora MP-4000 TH FI Cód Revisão 1.1 Janeiro de 2010 Copyright 2008 por Bematech S.A. Curitiba, Brasil. Todos os direitos reservados. Nenhuma parte deste documento pode ser copiada, reproduzida, adaptada ou traduzida sem o prévio consentimento por escrito da Bematech S.A., exceto quando permitido sob as leis de direito autoral. As informações contidas neste manual têm caráter puramente informativo, estão sujeitas a alterações sem aviso prévio e não devem ser interpretadas como um compromisso por parte da Bematech S.A. No entanto, sempre que houver modificações, a Bematech S.A. fará o possível para disponibilizar informações atualizadas para os produtos descritos nesta publicação. A edição mais recente deste manual pode ser obtida através do site da Bematech na Internet: Sem prejuízo de outras ressalvas contidas no corpo deste Manual, o usuário ou terceiros assumirão todas as conseqüências e responsabilidades em casos de: (a) uso intencional para qualquer aplicação indevida, não direcionada ou não autorizada, inclusive para propósitos particulares; (b) modificações, reparos ou alterações não autorizadas do produto; (c) uso do produto em desacordo com as instruções de operação e manutenção fornecidas pela Bematech S.A.; (d) uso do produto como componente em sistemas ou aplicações nas quais a falha deste produto possa criar uma situação de risco pessoal ou material. Nas hipóteses acima a Bematech S.A. e seus administradores, prepostos, empregados, subsidiárias, afiliadas e distribuidores, não responderão, a qualquer título, por qualquer reclamação, custos, perdas, danos, despesas e qualquer outro prejuízo direto ou indireto, sejam de que natureza forem, bem como por reclamações fundadas em alegação de negligência da Bematech S.A. em relação ao projeto e fabricação do produto. A Bematech S.A. não se responsabiliza por danos ou problemas decorrentes do uso de acessórios ou suprimentos que não aqueles designados como produtos originais Bematech ou produtos aprovados pela Bematech S.A. Qualquer nome de produto e seus logotipos mencionados nesta publicação podem ser marcas comerciais de suas respectivas empresas e aqui reconhecidos. As garantias do produto são apenas aquelas expressamente mencionadas no Manual do Usuário. A Bematech S.A. não outorga e tampouco será responsável por quaisquer garantias tácitas, incluindo, porém sem limitação, garantias de que o produto serve para um propósito especial. Adicionalmente, a Bematech S.A. não será responsável por quaisquer danos ou prejuízos especiais ou incidentais, ou ainda por prejuízos efetivos ou lucros cessantes em decorrência do uso do produto pelo adquirente, usuário ou por terceiros.\n3 Informações sobre Descarte e Reciclagem Informações gerais Este símbolo indica que seu produto deve ser descartado de acordo com as leis e regulamentos locais. Quando seu produto alcançar o fim de vida, contate a Bematech ou as autoridades locais para saber sobre as opções de reciclagem. Informações de Segurança Esta seção apresenta informações importantes que visam garantir a utilização segura e eficaz deste produto. Leia cuidadosamente esta seção e guarde este manual em um local acessível. Segurança Elétrica Para prevenir choque elétrico desconecte a fonte da tomada antes de inicializar o sistema. Quando adicionar ou remover um dispositivo do sistema, ou para o sistema, tenha certeza que os cabos de força dos dispositivos estejam desconectados antes que o sinal deles estiver conectado. Antes de conectar ou remover os cabos de sinais, cabos internos e periféricos do produto, tenha certeza que todos os cabos de força estejam desconectados. Procure por uma assistência profissional antes de usar um adaptador ou uma extensão. Estes dispositivos podem interromper o circuito de aterramento. É recomendado o uso deste produto com no break ou estabilizador. Tenha certeza de que sua fonte de alimentação esteja na tensão correta (127/220V). Se você não tem certeza da tensão elétrica que você estará usando, contate sua companhia elétrica local. Se a fonte de alimentação estiver quebrada, não tente consertá-la. Contate um serviço autorizado qualificado ou seu revendedor. Segurança Operacional Antes de instalar o produto e adicionar os dispositivos nele, leia atentamente os manuais que acompanham a embalagem. Antes de usar o produto, veja se todos os cabos estão conectados corretamente e os cabos de energia não estejam danificados. Se for notificado algum dano, contate o seu revendedor imediatamente. Para evitar curtos circuitos, deixe longe do produto clipes, chaves e grampos dos conectores, slots, tomadas e circuitos. Evite que o produto entre em contato com poeira, umidade e temperaturas extremas. Não ponha o produto em lugares que possam molhar o equipamento. Ponha o produto em lugares de superfícies estáveis. Se você encontrar algum problema técnico no produto, contate a assistência técnica autorizada ou seu revendedor imediatamente. 3\n4 Sobre este Manual Este manual auxilia na instalação, configuração e uso deste produto Bematech. Quem deve ler este manual? Este manual destina-se ao uso por pessoas que irão instalar e usar ou testar o equipamento. O manual também deve ser utilizado para diagnosticar e solucionar problemas. Como este manual está organizado? Capítulo 1 - Apresentação Capítulo 2 - Instalação Capítulo 3 - Operação Capítulo 4 - Interfaces de Comunicação Capítulo 5 - Comandos Fiscais Capítulo 6 - Comandos Capítulo 7 - Tabela de Caracteres Capítulo 8 - Periférico de Comunicação GPRS Capítulo 9 - Cuidados Especiais Capítulo 10 - Especificações Técnicas Capítulo 11 - Soluções de Problemas Capítulo 12 - Acionamento de Gaveta Capítulo 13 - Roteiro Básico para desenvolvimento de Aplicativo Capítulo 14 - Capacidade de Dígitos dos Contadores e Totalizadores Capítulo 15 - Assinatura Digital Capítulo 16 - Código De Barras Publicações e software relacionados Manual Quickstart Manual de Serviços Onde encontrar mais informações Conteúdo em português 4\n5 Índice Sobre este Manual 4 Quem deve ler este manual? 4 Como este manual está organizado? 4 Publicações e Softwares Relacionados 4 Onde encontrar mais informações 4 Capítulo 1: Apresentação 7 Como ler este Manual 7 Painel Frontal 7 Painel Traseiro 8 Capítulo 2: Instalação 9 Retirando da Embalagem 9 Instalando a Impressora 9 Colocando a Bobina Térmica 9 Capítulo 3: Operação 11 Comunicação com o Operador 11 Operações Fiscais 12 Capítulo 4: Interfaces de Comunicaçãio 15 Interface Serial 15 Ligação dos Cabos 16 Interface USB 16 Protocolo de Comunicação Serial 17 Capítulo 5: Comandos Fiscais 24 Cupom Fiscal 24 Leitura X 25 Redução Z 26 Leitura da Memória Fiscal 27 Capítulo 6: Comandos 28 Comandos de Cupom Fiscal 28 Comandos de Relatórios Fiscais 36 Comandos de Operações não-fiscais 38 Comprovante de Crédito ou Débito 46 Relatórios Gerenciais 48 Comandos da Gaveta de Dinheiro 50 Comandos de Informações da Impressora 50 Capítulo 7: Tabelas de Caracteres 59 Tabela ASCII 59 Code Page Code Page Code Page Code Page\n6 Capítulo 8: Periférico de Comunicação GPRS 62 Capítulo 9: Cuidados Especiais 64 Limpeza da Impressora 64 Local de Uso 64 Capítulo 10: Especificações Técnicas 65 Capítulo 11: Solução de Problemas 66 Capítulo 12: Acionamento de Gaveta 67 Capítulo 13: Roteiro Básico para Desenvolvimento do Aplicativo 68 Abertura do ECF 68 Emissão do Cupom Fiscal ou Bilhete de Passagem 69 Fechamento do ECF 69 Capítulo 14: Capacidade de Dígitos dos Contadores e Totalizadores 70 Capítulo 15: Assinatura Digital 71 Dados Assinados 71 Extensão 71 Formatação dos Arquivos 71 Comandos De Assinatura 72 Capítulo 16: Código De Barras 75 6\n7 Capítulo 1 Apresentação A MP-4000 TH FI é uma impressora destinada à emissão de cupons fiscais. Equipada com o que há de mais moderno em tecnologia aplicada para este tipo de equipamento, a MP-4000 TH FI possui inúmeros recursos que possibilitarão maior agilidade e rapidez de atendimento no ponto de venda, maior economia e controle do negócio, aliados à facilidade de operação, design moderno, dimensões compactas e pleno atendimento à legislação fiscal vigente. Por se tratar de um equipamento fiscal, deve operar obedecendo rigorosamente à legislação do seu estado. Antes de iniciar a utilização da sua impressora, certifique-se de que tenha sido lacrada por uma empresa credenciada. Em caso de dúvidas, contate o revendedor ou o nosso SAC: Como ler este Manual Os capítulos Apresentação e Instalação tratam da instalação e do uso da impressora, e devem ser lidos por todos os tipos de usuários. Caso você esteja lendo este manual para desenvolvimento de aplicativo, refira-se inicialmente aos capítulos que tratam dos comandos da impressora. Consulte também o site da Bematech na Internet (www.bematech.com.br), onde existe um roteiro básico para o desenvolvimento do aplicativo. Painel Frontal Tecla CONFIRMA Tecla SELEÇÃO LED EM LINHA LED LIGADO Descrição Utilizado para avanço de papel e operações fiscais. Utilizada para corte do papel e para operações fiscais. Verde aceso indica que a impressora está pronta para receber comandos. Verde piscando indica que a impressora está com pouco papel. Verde piscando rapidamente indica que está sendo realizada uma leitura da MF,MFD ou Software Básico via interface de comunicação. Amarelo aceso indica que a tampa está aberta Amarelo piscando indica que a impressora está sem papel. Indica que a impressora está ligada. 7\n8 Painel Traseiro Tipo Descrição FONTE (Entrada DC) GAVETA Conector circular de alimentação (3 pinos) Conector RJ-11 Entrada DC para conectar a fonte de alimentação. Utilizada para conexão da gaveta de dinheiro (opcional). FISCO (Porta Serial No 1) Conector DB-9 Exclusiva para utilização do Fisco. USUÁRIO (Porta Serial No 2) USB (Porta USB Usuário) Conector DB-9 Conector USB tipo B Utilizada para conexão ao microcomputador para comunicação via interface serial RS-232. Utilizada para conexão ao microcomputador para comunicação via interface de comunicação USB. 8\n9 Capítulo 2 Instalação Retirando da Embalagem Retire a impressora da embalagem e verifique se todos os componentes abaixo relacionados estão presentes e em perfeitas condições: impressora; cabo de força; cabo de comunicação serial; bobina de papel termico; manual do usuário; fonte de alimentação. Instalando a Impressora Conectando à Rede Elétrica Guarde a embalagem para um eventual transporte Certifique-se de que a impressora esteja desligada e, em caso afirmativo, ligue o plug de força à rede. Observe que a tomada para o plug de força deve ser de três pinos, sendo que o pino central (ver figura abaixo) deve ser conectado à terra. A fonte externa abrange volts. Ligue o cabo da fonte de alimentação na impressora, observe os pinos para encaixar corretamente. Verifique se o LED Power está aceso (impressora ligada). Se não houver papel, o LED Status assim o indicará (ver Capítulo 3, Comunicação com o Operador). Colocando a Bobina Térmica Para colocar a bobina de papel, abra a tampaconforme a figura abaixo, coloque a bobina no berço e puxe o papel até logo após a serrilha (estas informações também estão na tampa da impressora). 1 Levante a alavanca de abertura da tampa; 2 Insira o rolo de papel; 3 Feche a tampa. O rolo de papel térmico deve ser inserido conforme a imagem acima. 9\n10 Feche a tampa e pressione a tecla CONFIRMA (duas vezes) para certificar o correto funcionamento do avanço de papel. Observação Não puxe o papel com a tampa fechada, utilize para isso sempre a Tecla CONFIRMA. Recomenda-se utilizar bobina de papel cujas características encontram-se na tabela a seguir, observando que o papel deve ser amarzenado a 20 C, 60% de umidade, sem exposição direta a luz ultravioleta e fluorescente, sem contato com produtos químicos, solventes e plastificantes, a fim de preservar os dados impressos contidos nos documentos emitidos: Marca Gramatura (g/m2) Características Especiais Pré-impressão Termoscript KPH 856 AM 56 Alta sensibilidade de imagem. Coloração amarela suave. Maior opacidade. Termoscript KPH 868 AM 68 Alta sensibilidade de imagem. Coloração amarela suave. Maior opacidade. Termoscript KPD Excelente estabilidade e durabilidade de imagem. Off Set e flexografia só no verso do papel. Off Set e flexografia só no verso do papel. Off Set e flexografia só no verso do papel. A marca indicada acima poderá ser substituída por outra que ofereça a mesma qualidade de manutenção das informações impressas, desde que este fato seja atestado pelo fabricante do ECF junto à Gerência Fiscal através de processo devidamente formalizado. Condições para armazenagem antes e após o uso - Conservar o papel seco e ao abrigo da luz, a uma temperatura não superior a 42ºC. - Evitar o contato com plásticos e produtos químicos. 10\n11 Capítulo 3 Operação Comunicação com Operador A interface com o usuário será realizada através de 2 leds, POWER e INFO, uma tecla para avanço de papel (CONFIRMA) e uma tecla para corte do papel (SELEÇÃO). As duas teclas também assumem funções especiais para configuração via menu e são usadas como Confirma e Seleção, de acordo com a legislação fiscal. Teclas e Leds CONFIRMA: Permite avanço de papel em modo contínuo (mantendo-a pressionada). A tecla CONFIRMA ficará inoperante quando da condição de falta de papel, tampa aberta, erro ou quando a impressora estiver tratando alguma condição da legislação fiscal. Esta tecla assume a função de CONFIRMA quando a impressora estiver tratando alguma condição da legislação fiscal. SELEÇÃO: Ao ser pressionada, em operação normal, a tecla SELEÇÃO deve realizar um corte total do papel.esta tecla assume a função de SELEÇÃO quando a impressora estiver tratando alguma condição da legislação fiscal. LIGADO/Power: O led de indicação LIGADO/Power estará sempre aceso se a impressora estiver energizada. A tabela abaixo resume os possíveis estados deste LED: LED Power Aparência Indicação Desligado Máquina desligada Ligado Máquina ligada Led de INFOrmação : Este Led é usado para indicar a condição de funcionamento da impressora bem como uma condição de erro. Este led é bicolor (verde e vermelho) para permitir a indicação com até três cores diferentes. A indicação da condição de funcionamento e de erro deve segue a tabela abaixo: 11\n12 Cor LED Status Aparência Duração Indicação Ligado Impressora pronta para imprimir Verde = OK Piscando 2 Pouco Papel, impressão OK Piscando intermitente Durante captura de dados do ECF Amarelo Erro Recuperável Ligado Tampa Aberta Piscando 1 Sem Papel 1 piscada 3 Erro no RTOS 3 piscadas 3 Erro na Memória RAM 4 piscadas 3 Erro no RTC (parado) Vermelho Erro Não Recuperável 8 piscadas 3 Erro no Mecanismo de Impressão 11 piscadas 3 Tensão de alimentação baixa 12 piscadas 3 Erro na da Guilhotina 14 piscadas 3 Tensão de alimentação bateria do RTC baixa 15 piscadas 3 Cabeça térmica sobreaquecida Operações Fiscais Procedimentos para Emissão de Leituras no ECF Ligue a impressora com a tecla SELEÇÃO pressionada e mantenha-a pressionada até que o led INFO comece a piscar. Ao soltar a tecla a seguinte mensagem será impressa: Leitura X 01 toque Leitura completa da MF 02 toques Leitura simplificada da MF 03 toques Fita-detalhe 04 toques Aguarde para NÃO Emitir Documentos. Para a emissão da Leitura da Memória de Fita Detalhe diretamente no equipamento a impressora deverá estar obrigatoriamente em Modo de Intervenção Técnica. Um bip confirmará o reconhecimento da tecla. 12\n13 A impressão dos documentos acima informados, devem ser obtidos através dos seguintes procedimentos: I - ao ligar o ECF com a tecla SELEÇÃO pressionada, deverão ser impressas as seguintes opções: a) Leitura X - 01 toque ; b) leitura completa da MF - 02 toques ; c) leitura simplificada da MF - 03 toques ; d) Fita-detalhe - 04 toques ; II - a opção deverá ser efetivada pelo acionamento da tecla SELEÇÃO de acordo com o número de toques, finalizando o procedimento com a tecla CONFIRMA ; III - nas hipóteses das alíneas b e c do item I, observar-se-ão: a) após o procedimento previsto no item anterior devem ser impressas as opções: 1. intervalo de data - 01 toque ; 2. intervalo de CRZ - 02 toques ; b) a opção da alínea anterior deverá ser efetivada pela tecla SELEÇÃO de acordo com o número de toques, finalizando o procedimento com a tecla CONFIRMA ; c) após o procedimento da alínea anterior deverão ser impressas, conforme o caso, as mensagens 00/00/00 a 00/00/00, para as datas inicial e final, ou 0000 a 0000, para o CRZ inicial e final; d) os dígitos referentes a intervalos de data ou de CRZ deverão ser preenchidos a partir da esquerda, utilizando a tecla SELEÇÃO para incrementar e imprimi-los e a tecla CONFIRMA para aceitar a seleção e avançar para o próximo dígito; IV - na hipótese da alínea d, observar-se-ão: a) após o procedimento previsto no item II, deverão ser impressas as opções: 1. intervalo de data - 01 toque ; 2. intervalo de COO - 02 toques ; b) a opção da alínea anterior deverá ser efetivada pela tecla SELEÇÃO de acordo com o número de toques, finalizando o procedimento com a tecla CONFIRMA ; c) após o procedimento da alínea anterior deverão ser impressas, conforme o caso, as mensagens 00/00/00 a 00/00/00, para as datas inicial e final, ou 0000 a 0000, para o COO inicial e final; d) os dígitos referentes a intervalos de data ou de COO deverão ser preenchidos a partir da esquerda, utilizando a tecla SELEÇÃO para incrementar e imprimi-los e a tecla CONFIRMA para aceitar a seleção e avançar para o próximo dígito. Leitura da Memória Fiscal para meio magnético: Conectar o cabo serial em qualquer uma das duas portas seriais da impressora; Conectar a outra extremidade do cabo serial em uma das portas seriais disponíveis no PC; Caso esteja desligado, ligar o ECF; Os requisitos necessários para a Leitura da Memória Fiscal são: PC com processador Pentium II 250 MHz ou superior, mínimo 64 MB de RAM (128 MB recomendado); Sistema Operacional Windows 98/ME/2000/XP; O programa WinMFD2 instalado. Para instalá-lo, executar o arquivo de instalação setup.exe. Executar o software aplicativo WinMFD2.EXE. Sugere-se o uso do menu de ajuda deste programa, pois traz informações muito mais detalhadas que as explicações a seguir. No WinMFD2.EXE, selecionar a opção comunicação e configurar portas seriais para selecionar a porta a ser utilizada; Selecionar o modelo da impressora em comunicação -> Modelo Impressora. Para iniciar a leitura da Memória Fiscal para meio magnético, selecionar a opção do menu Comunicação, item Leitura da Memória Fiscal pela Serial. Escolha o período a ser lido (Por intervalo de CRZs ou de data). A leitura será mostrada na tela. Para salvar, clique no menu Arquivo --> Salvar Como e escolha o nome do arquivo.txt. Outra forma de executar essa operação é a partir do conteúdo físico do dispositivo de memória fiscal, obedecendo ao seguinte procedimento: 13\n14 Executar o aplicativo WinMFD2.EXE. Selecionar a opção Comunicação na barra de tarefas. Selecionar a opção Download. Selecionar a opção Memória Fiscal. Após salvar o arquivo em diretório, selecionar a opção Arquivo na barra de tarefas. Selecionar Relatório da Memória Fiscal... e abrir o arquivo salvo no passo anterior. Leitura da Fita-detalhe para meio magnético: Conectar o cabo serial em qualquer uma das duas portas seriais da impressora; Conectar a outra extremidade do cabo serial em uma das portas seriais disponíveis no PC; Caso esteja desligado, ligar o ECF; Os requisitos necessários para a Leitura da Memória da Fita-detalhe são: PC com processador Pentium II 250 MHz ou superior, mínimo 64 MB de RAM (128 MB recomendado); Sistema Operacional Windows 98/ME/XP/2000; O programa WinMFD2 instalado. Para instalá-lo, executar o arquivo de instalação setup.exe. Executar o software aplicativo WinMFD2.EXE. No WinMFD2.EXE, selecionar a opção comunicação e configurar portas serias para selecionar a porta a ser utilizada. Selecionar o modelo da impressora em comunicação -> Modelo Impressora. Para iniciar a leitura da Memória da Fita-detalhe para arquivo, selecionar a opção do menu Comunicação, item Download sub-item Memória da fita detalhe. Após isso, será solicitado o nome que se deseja dar ao arquivo com a extensão.mfd (para fins de referência chamaremos de entrada.mfd ). Escolha o intervalo de dados desejado (Total, intervalo de COOs ou intervalo de datas). A conclusão da leitura será informada com uma mensagem indicando a geração do arquivo; caso a operação não tenha sido realizada com sucesso, uma mensagem de erro informando a causa será apresentada para que o usuário possa resolvê-la antes de disparar nova leitura; Selecionar a opção do menu Arquivo item Relatório da Memória Fita Detalhe, selecionar o arquivo entrada.mfd, informar o intervalo de emissão (total, por COO ou por data), escolher o formato do relatório de saída e em seguida pressionar o botão Gerar relatório. Será gerada na tela a segunda via dos documentos selecionados. Para informações mais detalhadas, consulte o menu de ajuda do WinMFD2.exe 14\n15 Capítulo 4 Interface de Comunicação Interface Serial A impressora fiscal possui duas portas seriais no padrão RS 232 C. Operando com protocolo RTS/CTS, 8 bits de dados, sem paridade, um start bit, um stop bit. A velocidade default de comunicação da porta do usuário é de 9600 bps. A mesma pode ser alterada para 19200, e bps utilizando o comando ESC n. Onde n = 48 ( 0 ) para 9600bps n = 49 ( 1 ) para 19200bps n = 50 ( 2 ) para 57600bps n = 51 ( 3 ) para bps Os níveis de tensão da interface de comunicação serial são: RS 232 C Nível lógico 0 1 Nível de Tensão +12V -12V O conector utilizado é do tipo DB-9, com a seguinte pinagem: Pino Sinal Direção Descrição 2 Rx IN Através deste pino os dados são recebidos pela impressora. 3 Tx OUT Através deste pino são transmitidos os dados da impressora ao dispositivo a ela conectado. 7 RTS OUT Quando em nível baixo, a impressora requisita o envio de dados. Quando em nível alto, a impressora está sem documento. 8 CTS IN Quando em nível baixo, a impressora envia dados (se houver). Quando em nível alto, a impressora pára de enviar dados, se estiver mandando. 5 GND Terra lógico. Observação Os demais pinos não são conectados. 15\n16 Ligação dos Cabos A seguir é apresentada a forma como devem ser interligados os pinos dos conectores caso seja utilizado um computador compatível com o IBM-PC. Nota A maioria dos problemas de comunicação pela interface serial é causada pela ligação errada dos pinos dos conectores. CABO PORTA SERIAL DO USUÁRIO Interface USB Este ECF possui a interface Universal Serial Bus (USB) compatível com a Especificação 1.1 para Barramentos Seriais Universais. Consiste em um canal serial de 12 Mbps, utilizando o modo Bulk com um receptáculo tipo B, como se vê abaixo. O cabo USB deve ter um conector tipo A em uma das extremidades, para conexão a um computador, e um plugue tipo B na outra extremidade, para conexão à impressora. Como a impressora tem alimentação própria, ela não recebe energia do cabo-padrão USB de interface do tipo B. Para o perfeito funcionamento desta interface há necessidade de instalação do device driver fornecido pela Bematech. 16 Pino Sinal 1 NC 2 DATA+ 3 DATA- 4 GND Ao se utilizar a interface USB, a impressora pode ser conectada ao computador mesmo que ambos estejam energizados. Quando a impressora for conectada ao computador pela primeira vez, o sistema operacional solicitará o driver da mesma. Faça então o download do driver da impressora a partir de nosso site na Web (www.bematech.com.br). Para saber mais detalhes, entre em contato, gratuitamente, com a Central de Relacionamento Bematech (CRB) através do telefone\n17 Protocolo de Comunicação Serial PROTOCOLO 1 O Protocolo de Comunicação serial da sua impressora fiscal é estruturado em blocos, e possui a seguinte forma: a) O aplicativo deverá transmitir à impressora fiscal a seguinte seqüência de bytes: Obs: Em negrito está o protocolo e abaixo está um exemplo de emissão de Leitura X. STX NBL NBH CMD CSL CSH HEX B ASCII..... %. DEC Onde: STX: byte indicativo de início de transmissão (02h). NBL: byte menos significativo, da soma do número de bytes que serão enviados (soma do Byte CMD, CSL e CSH). NBH: byte mais significativo, da soma do número de bytes que serão enviados (soma do Byte CMD, CSL e CSH). CMD: Seqüência de bytes que compõem o comando e seus parâmetros. CSL: byte menos significativo, da soma dos valores dos bytes que compõem o comando e seus parâmetros(cmd). CSH: byte mais significativo, da soma dos valores dos bytes que compõem o comando e seus parâmetros(cmd). Os exemplos de utilização deste Protocolo podem ser observados no CAPÍTULO 14. b) Se a seqüência enviada estiver correta, a impressora responderá ao aplicativo da seguinte maneira: Onde: ACK: ST1 e ST2: Em ST1: ACK ST1 ST2 byte indicativo de recebimento correto (06H). bytes de estado da impressora fiscal. Composição do byte de retorno Mensagem da Impressora Valor do retorno Bit 7 Fim de papel 128 Bit 6 reservado 64 Bit 5 Erro no relógio 32 Bit 4 Impressora em erro 16 Bit 3 Primeiro dado de CMD não foi ESC ( 1BH) 8 Bit 2 Comando inexistente 4 Bit 1 Cupom aberto 2 Bit 0 Número de Parâmetros de CMD inválido 1 17\n18 Em ST2: Mensagem da Impressora Valor do retorno Tipo de Parâmetro de CMD inválido 128 Memória fiscal lotada 64 Erro na memória RAM CMOS não volátil 32 Alíquota não programada 16 Capacidade de aliq. Programáveis lotada 8 Cancelamento não permitido 4 CNPJ/IE do proprietário não programados 2 Comando não executado 1 Observações Os bytes ST1 e ST2 apenas serão enviados após a completa execução do comando, porém antes da impressão. Entretanto alguns comandos retornam dados da impressora, estes comandos são: Leitura da Memória Fiscal, Retorno de Alíquotas, Retorno dos Totalizadores Parciais, Retorno do Subtotal, Retorno do Número do Cupom e Retorno de Variáveis, estes comandos estão exemplificados no Capítulo de Comandos. c) Se a seqüência enviada estiver incorreta, ou ocorra um timeout na recepção dos dados pela impressora, a mesma responderá ao aplicativo da seguinte maneira: NAK Onde: NAK: byte indicativo de recebimento incorreto (15h - 21d) A impressora retorna ACK ou NAK no momento em que ela recebe o último byte de checksum; os bytes ST1 e ST2 são retornados após o tratamento do comando, portanto o intervalo de tempo entre o envio do ACK e dos bytes ST1 e ST2 pode variar de alguns milisegundos (tipicamente) até alguns segundos (principalmente para os comandos de leitura X e redução Z. 18\n19 PROTOCOLO 2 A diferença em relação ao protocolo 1 é a sequência de retorno que inclui mais dois bytes. Para a impressora identificar este protocolo, a sequência de bytes que compõem o comando deve ser iniciada com o número 1CH no lugar do número 1BH STX NBL NBH CMD CSL CSH Onde: STX: byte indicativo de início de transmissão (02h) NBL: byte menos significativo, da soma do número de bytes que serão enviados (incluindo CMD, CSL e CSH) NBH: byte mais significativo, da soma do número de bytes que serão enviados (incluindo CMD, CSL e CSH) CMD: sequência de bytes que compõem o comando e seus parâmetros. 1CH + NÚMERO DO COMANDO+PARÂMETROS DO COMANDO CSL: byte menos significativo, da soma dos valores dos bytes que compõem o comando e seus parâmetros(cmd). CSH: byte mais significativo, da soma dos valores dos bytes que compõem o comando e seus parâmetros(cmd). Se a sequência estiver correta, a impressora responderá da seguinte forma: ACK Impressão do Comando ST1 ST2 STL STH Se a sequência estiver incorreta, a impressora responderá NAK retorna além dos status já existentes ST1 e ST2, mais dois bytes STL e STH, que compõe um número de 0 a que corresponde ao status de execução do comando onde : STL = byte menos significativo do número do retorno de status STH = byte mais significativo do número do retorno de status ST Retorno 0 Comando ok 1 Comando inválido 2 Erro desconhecido 3 Número de parâmetro inválido 4 Tipo de parâmetro inválido 5 Todas alíquotas já programadas 6 Totalizador não fiscal já programado 7 Cupom fiscal aberto 8 Cupom fiscal fechado 9 ECF ocupado 10 Impressora em erro 11 Impressora sem papel 12 Impressora com cabeça levantada 13 Impressora OFF LINE 14 Alíquota não programada 15 Terminador de string faltando 19\n20 16 Acréscimo ou desconto maior que o total do cupom fiscal 17 Cupom fiscal sem item vendido 18 Comando não efetivado 19 Sem espaço para novas formas de pagamento 20 Forma de pagamento não programada 21 Índice maior que número de forma de pagamento 22 Formas de pagamento encerradas 23 Cupom não totalizado 24 Comando maior que 7F 25 Cupom fiscal aberto e sem item 26 Cancelamento não imediatamento após 27 Cancelamento já efetuado 28 Comprovante de crédito ou débito não permitido ou já emitido 29 Meio de pagamento não permite TEF 30 Sem comprovante não fiscal aberto 31 Comprovante de crédito ou débito já aberto 32 Reimpressão não permitida 33 Comprovante não fiscal já aberto 34 Totalizador não fiscal não programado 35 Cupom não fiscal sem item vendido 36 Acréscimo e desconto maior que total CNF 37 Meio de pagamento não indicado 38 Meio de pagamento diferente do total de recebimento 39 Não permitido mais de uma sangria ou suprimento 40 Relatório já programado 41 Relatório gerencial não programado 42 Relatório gerencial não permitido 43 MFD não inicializada 44 MFD ausente 45 MFD sem número de série 46 MFD já inicializada 47 MFD lotada 48 Cupom não fiscal aberto 49 Memória fiscal desconectada 50 Memória fiscal sem número de série da MFD 51 Memória fiscal lotada 52 Data inicial inválida 53 Data final inválida 54 Contador de Redução Z inicial inválido 55 Contador de Redução Z final inválido 56 Erro de alocação 57 Dados do RTC incorretos 58 Data anterior ao último documento emitido 59 Fora de intervenção técnica 60 Em intervenção técnica 61 Erro na memória de trabalho 62 Já houve movimento no dia 63 Bloqueio por RZ 64 Forma de pagamento aberta 65 Aguardando primeiro proprietário 66 Aguardando RZ 67 ECF ou loja igual a zero 20\n21 68 Cupom adicional não permitido 69 Desconto maior que total vendido em ICMS 70 Recebimento não fiscal nulo não permitido 71 Acréscimo ou desconto maior que total não fiscal 72 Memória fiscal lotada para novo cartucho 73 Erro de gravação na MF 74 Erro de gravação na MFD 75 Dados do RTC anteriores ao último documento armazenado 76 Memória fiscal sem espaço para gravar leituras da MFD 77 Memória fiscal sem espaço para gravar versão do SB 78 Descrição igual a default não permitido 79 Extrapolado número de repetições permitidas 80 Segunda via do comprovante de crédito ou débito não permitido 81 Parcelamento fora da sequência 82 Comprovante de crédito ou débito aberto 83 Texto com sequência de ESC inválida 84 Texto com sequência de ESC incompleta 85 Venda com valor nulo 86 Estorno de valor nulo 87 Forma de pagamento diferente do total da sangria 88 Redução não permitida em intervenção técnica 89 Aguardando RZ para entrada em intervenção técnica 90 Forma de pagamento com valor nulo não permitido 91 Acréscimo ou desconto maior que valor do ítem 92 Autenticação não permitida 93 Timeout na validação 94 Comando não executado em impressora bilhete de passagem 95 Comando não executado em impressora de Cupom Fiscal 96 Cupom Não Fiscal fechado 97 Parâmetro não ASCII em campo ASCII 98 Parâmetro não ASCII num em campo ASCII num 99 Tipo de transporte inválido 100 Data e hora inválida 101 Sem relatório gerencial 102 Número do totalizador não fiscal inválido 103 Parâmetro de acréscimo ou desconto inválido 104 Acréscimo ou desconto em sangria ou suprimento não permitido 105 Número do relatório gerencial inválido 106 Forma de pagamento fonte não programada 107 Forma de pagamento destino não programada 108 Estorno maior que forma pagamento 109 Caracter numérico na codificação GT não permitido 110 Erro na inicialização da MF 111 Nome do totalizador em branco não permitido 112 Data e hora anteriores ao último doc armazenado 113 Parâmetro de acréscimo ou desconto inválido 114 Item anterior aos trezentos últimos 115 Item não existe ou já cancelado 116 Código com espaços não permitido 117 Descrição sem caracter alfabético não permitido 118 Acréscimo maior que valor do item 119 Desconto maior que valor do item 21\n22 120 Desconto em ISS não permitido 121 Acréscimo em item já efetuado 122 Desconto em item já efetuado 123 Erro na Memória Fiscal chamar credenciado 124 Aguardando gravação na Memória Fiscal 125 Caracter repetido na codificação do GT 126 Versão já gravada na memória fiscal 127 Estouro de capacidade no cheque (não utilizado neste modelo) 128 Timeout na leitura do cheque (não utilizado neste modelo) 129 Mês inválido (não utilizado neste modelo) 130 Coordenada inválida (não utilizado neste modelo) 131 Sobreposição de texto (não utilizado neste modelo) 132 Sobreposição de texto no valor (não utilizado neste modelo) 133 Sobreposição de texto no extenso (não utilizado neste modelo) 134 Sobreposição de texto no favorecido (não utilizado neste modelo) 135 Sobreposição de texto na localidade (não utilizado neste modelo) 136 Sobreposição de texto no opcional (não utilizado neste modelo) 137 Sobreposição de texto no dia (não utilizado neste modelo) 138 Sobreposição de texto no mês (não utilizado neste modelo) 139 Sobreposição de texto no ano (não utilizado neste modelo) 140 Usando MFD de outro ECF 141 Primeiro dado diferente de esc ou 1C 142 Não permitido alterar sem intervenção técnica 143 Dados da última RZ corrompidos 144 Comando não permitido no modo inicialização 145 Aguardando acerto de relógio 146 MFD já inicializada para outra memoria fiscal 147 Aguardando acerto do relógio ou desbloqueio pelo teclado 148 Valor forma de pagamento maior que máximo permitido 149 Razão social em branco 150 Nome de fantasia em branco 151 Endereço em branco 152 Estorno de CDC não permitido 153 Dados do proprietário iguais ao atual 154 Estorno de forma de pagamento não permitido 155 Descricao forma de pagamento igual já programada 156 Acerto de horário de verão só imediatamente após Redução Z 157 Intervenção técnica não permitida MF reservada para Redução Z 158 Senha CNPJ inválida 159 Timeout na inicialização de nova MF 160 Dados da MFD não encontrados 161 Sangria ou Suprimento devem ser únicos no comprovante não fiscal 162 Índice da forma de pagamento nulo não permitido 163 UF de destino inválida 164 Tipo de transporte incompatível com a UF de destino 165 Descrição do primeiro item do Bilhete de passagem diferente de TARIFA 166 Aguardando impressão de cheque ou autenticação (não utilizado neste modelo) 167 Programação de CNPJ e IE preenchido com espaços em branco não permitido 168 Programação de UF preenchido com espaços em branco não permitido 169 Número de impressões da fita detalhe nesta intervenção técnica esgotado 170 Cupom fiscal já sub-totalizado 171 Cupom não sub-totalizado 22\n23 172 Acréscimo em sub-total já efetuado 173 Desconto em sub-total já efetuado 174 Acréscimo com valor nulo não permitido 175 Desconto com valor nulo não permitido 176 Cancelamento de acréscimo ou desconto em sub-total não permitido 177 Data inválida 178 Valor do cheque nulo não permitido (não utilizado neste modelo) 179 Valor do cheque inválido (não utilizado neste modelo) 180 Cheque sem a informação da localidade não permitido (não utilizado neste modelo) 181 Cancelamento de acréscimo em item não permitido 182 Cancelamento de desconto em item não permitido 183 Número máximo de itens atingido 184 Número do item nulo não permitido 185 Mais que duas alíquotas diferentes no Bilhete de Passagem não permitido 186 Acréscimo ou Desconto em item não permitido 187 Cancelamento de acréscimo ou desconto em item não permitido 188 Clichê já impresso 189 Texto opcional do cheque excedeu o máximo de linhas permitido (não utilizado neste modelo) 190 Impressão automática no verso não disponível neste equipamento 191 Timeout na inserção do cheque (não utilizado neste modelo) 192 Overflow na capacidade de texto do comprovante de débito ou crédito 193 Programação de espaços entre cupons menor que o mínimo permitido 194 Equipamento não possui leitor de cheque (não utilizado neste modelo) 195 Programação de alíquota com valor nulo não permitido 196 Parâmetro baud rate inválido 197 Configuração permitida somente pela porta do fisco 198 Valor total do item excede 11 dígitos 199 Programação da moeda com espaços em branco não permitido 200 Casa decimais devem ser programadas com 2 ou Não permite cadastrar usuários diferentes na mesma MFD 202 Identificação do consumidor não permitido para sangria ou suprimento 203 Casas decimais em quantidade maior do que a permitida 204 Casas decimais do unitário maior do que o permitido 205 Posição reservada para ICMS 206 Posição reservada para ISS 207 Todas as alíquotas com a mesma vinculação não permitido 208 Data de embarque anterior a data de emissão 209 Alíquota para ISSQN não permitida sem inicialização da Inscrição Municipal 210 Pacote do clichê gráfico fora da seqüência 211 Espaço para armazenamento do clichê gráfico esgotado 212 Clichê gráfico não disponível para confirmação 213 CRC do clichê gráfico diferente do informado 214 Intervalo inválido 215 Usuário já programado 217 Detectada abertura do equipamento 23\n24 Capítulo 5 Comandos Fiscais Antes de mostrarmos a operação de sua impressora fiscal no modo fiscal, vamos detalhar todos os documentos fiscais emitidos pelo equipamento para que a apresentação dos comandos seja melhor compreendida. Os demais cupons / relatórios serão descritos nos comandos. Cupom Fiscal Cupom fiscal é definido como sendo o documento emitido por um equipamento eletro-mecânico em substituição à nota fiscal. Tem a mesma validade da nota fiscal, mas possui algumas características diferentes. Abaixo detalhamos estas características. Lembramos que as explicações a seguir constam no convênio 85/01, que é o documento oficial que regulamenta impressoras fiscais, como a impressora fiscal: 1 - Inscrição CUPOM FISCAL ; 2 - Razão social, endereço e números de CNPJ, Inscr. Estadual e Inscr. Municipal da empresa emitente do cupom; 3 - Dia, mês e ano, hora de início e término da emissão do cupom; 4 - CNPJ/CPF, nome completo e endereço do Consumidor (opcional); 5 - Contador de Cupom Fiscal (CCF); 6 - Número seqüencial de cada cupom (COO); 7 - Número seqüencial do equipamento, atribuído pela empresa (número do caixa(ecf) e loja(lj)); 8 - Indicação da tributação de cada item vendido; 9 - Símbolos identificadores dos totalizadores (os mesmos usados nas máquinas registradoras) Tnn Tributado (sujeito ao ICMS) ISnn Tributado (sujeito ao ISS) F - Substituição Tributária I - Isenção N - Não incidência; 10 - Discriminação, código, quantidade e valor unitário do produto ou serviço; 11 - Valor total da venda; 12 - Mensagem promocional; 13 - Denominação do ECF; 14 - Versão do Software Básico; 15 - Número de Série do ECF; 16 - Grande Total codificado; 17 - Logotipo Fiscal (BR estilizado); 18 Caracteres Criptografados dos documentos. Observação Os itens 2, 7, 8 e 12 são programáveis. Os demais são automaticamente impressos quando os comandos de ABERTURA DE CUPOM e VENDA DE ITEM forem enviados à impressora fiscal. Em um único cupom fiscal, é possível ter, no máximo, 999 itens. 24\n25 Leitura X A LEITURA X é um relatório emitido por sua impressora fiscal, que deve ser executado no início de cada dia de trabalho. A função principal deste relatório é a de dar uma fotografia do movimento diário da impressora no momento em que o mesmo foi emitido.este relatório deve ser mantido junto à impressora durante o decorrer do dia, para exibição aos fiscais. Contém as seguintes informações: 1 - Inscrição LEITURA X; 2 - Razão social, endereço e números de CNPJ, Inscr. Estadual e Inscr. Municipal da empresa emitente do cupom; 3 - Valores acumulados em cada totalizador parcial de operação separadamente; 4 - Versão do programa fiscal utilizado; 5 - Logotipo Fiscal (BR estilizado). 6 - Dia, Mês e Ano, 7 - Hora 8 - COO, 9 - CRZ, 10 - CRO 11 - CCD, 12 - CFC Comprovantes Não Emitidos, 14 - Tempo emitindo doc. Fiscal e Tempo Operacional, 15 - Número de Reduções Restantes 16 - Número de Série do ECF, 17 - Denominação do ECF, 18 - Versão do Software Básico; 19 - GT codificado; 20 Caracteres Criptografados do documento. Observação As informações acima são impressas logo após o envio do comando de emissão da Leitura X. Sendo assim, nenhuma destas informações pode ser programável. Este cupom tem o mesmo formato da redução Z, porém não grava dados na memória fiscal. 25\n26 Redução Z A REDUÇÃO Z é um relatório emitido pela impressora fiscal que, quando executado, envia o conteúdo do Grande Total para a Memória Fiscal e zera todos os totalizadores parciais. Este relatório deve ser mantido à disposição dos fiscais, junto ao estabelecimento por 5 anos. Após a redução Z a impressora fiscal não permite mais operações fiscais, como abertura de cupons fiscais, até que seja alterada a data de seu relógio interno (que é automático), ou seja até o dia seguinte. Contém as seguintes informações: 1 - Inscrição REDUÇÃO Z 2 - Razão social, endereço e números de CNPJ, Inscr. Estadual e Inscr.Municipal da empresa emitente do cupom, 3 - Dia, mês, ano e hora da emissão do relatório, 4 - Número indicado no Contador de Ordem de Operação (COO) e do Contador Geral de Comprovante Não Fiscal (GNF) (números gravados na memória do equipamento), 5 - Número seqüencial do equipamento, atribuído pela empresa (número do caixa (ECF) e loja (LJ)), 6 - Número seqüencial do relatório ( número indicado no Contador de Reduções), 7 - Do Totalizador Geral: a - valor acumulado no final do dia e b - diferença entre os valores do acumulado no final do dia e no final do dia anterior (venda bruta). 8 - Valor acumulado no totalizador parcial de cancelamento; 9 - Valor acumulado no totalizador parcial de desconto; 10 - Diferença entre o item 7b e a soma dos itens 8 e 9 [resultado = 7b - (8+9)], isto é, venda líquida; 11 - Valores acumulados nos totalizadores parciais de operações; a - com substituição tributária; b - isentas; c - não-tributadas e; d - tributadas Valores em que incide o ICMS, o montante e as alíquotas incidentes em cada um, do correspondente imposto debitado; 13 - Totalizadores Parciais e contadores de operações não-sujeitas ao ICMS; 14 - Versão do programa fiscal utilizado; 15 - Logotipo Fiscal (BR estilizado); 16 Caracteres Criptografados do documento. Ao final da Redução Z, serão impressos códigos de barras do tipo PDF-417 contendo informações dos documentos emitidos durante este dia. Esta impressão é obrigatória por lei. As informações acima, são impressas logo após o envio do comando de emissão da Redução Z. Sendo assim, nenhuma destas informações pode ser programável. Observação A Redução Z deve ser executada diariamente, caso haja movimento no dia (por movimento entende-se emissão de cupom fiscal ou recebimentos não sujeitos ao ICMS), a impressora possui uma tolerância para a emissão deste relatório até as 2:00 horas, do dia seguinte à data do movimento. Caso a impressora esteja ligada após às 2:00 horas. e ainda não tenha sido efetuada a Redução Z relativa ao movimento do dia anterior a mesma irá efetuar automaticamente o fechamento do cupom em andamento seguido de seu cancelamento (caso esteja aberto ) e emitirá uma Redução Z automaticamente, caso ela tenha sido programada para executar essa função automaticamente. Caso contrário, aguardará o envio do comando pelo aplicativo. 26\n27 Leitura da Memória Fiscal A LEITURA DA MEMÓRIA FISCAL é um relatório que deve ser emitido ao final de cada período de apuração fiscal. Ele contém as seguintes informações: 1 - Inscrição Leitura da Memória Fiscal, 2 - Número de série do equipamento (FAB), 3 - Número do CNPJ, Insc. Estadual e Inscr Municipal do usuário atual e dos anteriores, se existirem, com a respectiva data e hora de gravação, em ordem, no início de cada cupom, 4 - Logotipo Fiscal (BR estilizado), 5 - Valor total da venda bruta diária, data e hora em que o total foi gravado, 6 - Soma das vendas brutas diárias do período relativo à leitura solicitada, 7 - Número do Contador de Reduções, 8 - Contador de Reinicio de Operação com a data da intervenção, 9 - Contador de Ordem de Operação, 10 - Número seqüencial do equipamento, atribuído pela empresa (número do caixa e loja), 11 - Dia, mês, ano e hora da emissão da leitura, 12 - Versão do programa fiscal; 13 - Valor acumulado nos Totalizadores e Alíquotas; 14 Caracteres Criptografados do documento. Observação As informações acima são impressas, logo após o envio do comando de emissão da Leitura da Memória Fiscal. Sendo assim, nenhuma destas informações pode ser programável. Observação Após o último dia do mês, conforme legislação, será impressa automaticamente uma leitura da memória fiscal referente ao mês findado. 27\n28 Capítulo 6 Comandos A seguir apresentamos todos os comandos fiscais de sua impressora fiscal. Com eles você poderá operá-la. Os comandos são classificados segundo os seguintes grupos: COMANDOS DE INICIALIZAÇÃO COMANDOS DO CUPOM FISCAL COMANDOS DOS RELATÓRIOS FISCAIS COMANDOS DAS OPERAÇÕES NÃO FISCAIS COMANDOS DE GAVETA DE DINHEIRO COMANDOS DE INFORMAÇÕES DA IMPRESSORA Importante O Tamanho de Retorno que está sendo descrito junto aos comandos, pode variar de acordo com o forma de programação. Comandos de Cumpom Fiscal Abertura de cupom fiscal  Aumentando a Descrição do Item  Acréscimo/Desconto em item posterior  Cancelamento de Acréscimo/Desconto em item posterior  Cancelamento de Item anterior  Cancelamento de Item Genérico  Cancelamento de Cupom  Inicia Fechamento de Cupom com Forma de Pgto  Inicia Fechamento de Cupom sem Forma de Pgto  Acréscimo/Desconto em subtotal  Cancelamento de Acréscimo/Desconto em subtotal  Totaliza o Cupom Fiscal  Efetua forma de pagamento  Efetua forma de pagamento com parcelamento  Termina Fechamento  Cupom Adicional  Estorno da Forma de Pagamento  Os Comandos de Programação de Unidade de Medida e de Descrição de item com até 200 caracteres atuam como modificadores, se executados imediatamente antes dos comandos de Venda de Item (09), Venda de Item com 3 casas no valor unitário (56). É sugerido a utilização de Venda de Item com Entrada de Departamento (63), pois possui como parâmetro estes modificadores. ABERTURA DE CUPOM FISCAL Comando ESC Parâmetros (opcionais) CPF : 29 caracteres ASCII Nome: 30 caracteres ASCII Endereço: 80 caracteres ASCII\n29 Tamanho de Retorno 3 bytes (Status) Observações A tentativa de fechar o cupom, caso não tenha sido registrado pelo menos um item, ocasionará o cancelamento automático do cupom fiscal. Se todos os itens registrados no cupom foram cancelados (Cupom Totalizado em zero) o Cupom será cancelado automaticamente ao iniciar o seu fechamento. VENDA DE ITEM COM DESCRIÇÃO EXTENDIDA Comando ESC Parâmetro 1 (obrigatório) Código do Produto (ASCII alfanumérico), com tamanho de 14 bytes. Parâmetro 2 (obrigatório) Índice da situação tributária (ASCII) de 01 até 16 para tributados; II, FF, NN, SI, SF e SN para isenção, substituição tributária não incidência, isenção de ISSQN, substituição tributária de ISSQN e não incidência de ISSQN respectivamente. Tamanho de 2 bytes. Parâmetro 3 (obrigatório) Unidade de Medida (ASCII) com o tamanho de 2 bytes. Parâmetro 4 (obrigatório) Quantidade Fracionária (ASCII numérico no formato XXXX,XXX) com o tamanho de 7 bytes. Parâmetro 5 (obrigatório) Valor Unitário (ASCII numérico no formato XXXXXX,XX) com o tamanho de 8 bytes. De acordo com o tamanho dos parâmetros referentes ao Desconto e Acréscimo este comando pode ser interpretado de formas diferente: 1. Desconto e Acréscimo por Valor Parâmetro 6 (obrigatório) Desconto por Valor (ASCII numérico no formato XXXXXX,XX) com o tamanho de 14 bytes Parâmetro 7 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 7. Parâmetro 8 (obrigatório) Acréscimo por Valor (ASCII numérico no formato XXXXXX,XX) com o tamanho de 14 bytes Parâmetro 9 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 9. Parâmetro 10 (obrigatório) Descrição do Produto: (ASCII) Tamanho de até 200 bytes - enviar sempre 0x00 como terminador de string. 2. Desconto e Acréscimos Percentual Parâmetro 6 (obrigatório) Desconto por Percentual (ASCII numérico no formato XX,XX %) com o tamanho de 4 bytes Parâmetro 7 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 7. Parâmetro 8 (obrigatório) Acréscimo por Percentual (ASCII numérico no formato XX,XX%) com o tamanho de 4 bytes 29\n30 Parâmetro 9 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 9. Parâmetro 10 (obrigatório) Descrição do Produto: (ASCII) Tamanho de até 200 bytes - enviar sempre 0x00 como terminador de string. 3. Desconto e Acréscimo por Percentual Parâmetro 6 (obrigatório) Desconto por Valor (ASCII numérico no formato XXXXXX,XX) com o tamanho de 14 bytes Parâmetro 7 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 7. Parâmetro 8 (obrigatório) Acréscimo por Percentual (ASCII numérico no formato XX,XX%) com o tamanho de 4 bytes Parâmetro 9 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 9. Parâmetro 10 (obrigatório) Descrição do Produto: (ASCII ) Tamanho de até 200 bytes - enviar sempre 0x00 como terminador de string. 4. Desconto por Percentual e Acréscimo por Valor Parâmetro 6 (obrigatório) Desconto por Percentual (ASCII numérico no formato XX,XX%) com o tamanho de 4 Parâmetro 7 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 7. Parâmetro 8 (obrigatório) Acréscimo por Valor (ASCII numérico no formato XXXXXX,XX) com o tamanho de 14 Parâmetro 9 (obrigatório) Tamanho de 1 byte - enviar sempre 0x00. Ele será utilizado como identificador da string do parâmetro 9. Parâmetro 10 (obrigatório) Descrição do Produto: (ASCII ) Tamanho de até 200 bytes - enviar sempre 0x00 como terminador de string. Tamanho de Retorno 3 bytes (Status) AUMENTANDO A DESCRIÇÃO DO ITEM Comando ESC Parâmetro (obrigatório) Descrição do item (ASCII), com até 200 bytes. Tamanho de Retorno Observações O próximo comando de venda de item irá imprimir a descrição com este tamanho. O comando tem validade somente para a impressão de um item, voltando ao default que é de 29 caracteres, passados nos comandos de Venda de item comum. O comando de Venda de Item tem que ser utilizado normalmente, inclusive com a sua Descrição (29 caracteres), pois esta Descrição, será substituída pela que foi programada no comando\n31 CANCELAMENTO DO ITEM ANTERIOR Comando ESC 13 Descrição Cancela o último item vendido. Tamanho de Retorno 3 bytes (Status) CANCELAMENTO DE ITEM GENÉRICO Comando ESC 31 Parâmetro 1 (obrigatório) Número do item a ser cancelado (ASCII numérico), com o tamanho de 4 bytes. Tamanho de Retorno 3 bytes (Status) Observação O item só é cancelado nas seguintes condições: a) Não tenha sido cancelado previamente b) Esteja dentro do limite dos 300 últimos itens. ACRÉSCIMO/DESCONTO EM ITEM POSTERIOR Comando ESC 93 Parâmetro 1 (obrigatório) A para acréscimo posterior em item D para desconto posterior em item, com tamanho 1 byte. Parâmetro 2 (obrigatório) Item, número do item registrado, ( ASCII numérico), com o tamanho de 3 bytes. Parâmetro 3 (obrigatório) Valor ( ASCII, numérico com o formato XXX.XXX,XX) para desconto/acréscimo por valor com o tamanho de 8 bytes. Ou Parâmetro 3 (obrigatório) Valor ( ASCII, numérico com o formato XX,XX) para desconto/acréscimo por percentual com o tamanho de 4 bytes. Tamanho de Retorno 3 bytes (Status) Observação É permitida apenas uma operação de desconto/acréscimo para cada item. Deve estar dentro do limite dos 300 últimos itens. 31\n32 CANCELAMENTO DE ACRÉSCIMO/DESCONTO EM ITEM Comando ESC 114 Parâmetro 1 (obrigatório) A ou a para cancelamento de acréscimo ou D ou d para cancelamento de desconto em item, com tamanho 1 byte. Parâmetro 2 (obrigatório) Item, número do item registrado, ( ASCII numérico), com acréscimo/desconto com o tamanho de 3 bytes. Tamanho de Retorno 3 bytes (Status) Observação É permitida apenas uma operação de cancelamento de desconto/acréscimo para cada item. Deve estar dentro do limite dos 300 últimos itens. Não será permitido o cancelamento do acréscimo em item, caso tenha ocorrido desconto em item, após o acréscimo. Não será permitido o cancelamento do desconto em item, caso tenha ocorrido acréscimo em item, após o desconto. INICIA FECHAMENTO DE CUPOM Comando ESC 32 1) Com Acréscimo ou Desconto Percentual. Parâmetro 1 (obrigatório) A para Acréscimo ou D para Desconto, no tamanho de 1 byte. Parâmetro 2 (obrigatório) Percentual (ASCII no formato XX,XX%), com o tamanho de 4 bytes. Tamanho de Retorno 3 bytes (Status) Observação No caso de acréscimo ou desconto por percentual, o percentual deve ser inferior a 100%. 2) Com Acréscimo ou Desconto por Valor. Parâmetro 1 (obrigatório) a para Acréscimo ou d para Desconto, no tamanho de 1 byte. Parâmetro 2 (obrigatório) Valor (ASCII no formato (XXX.XXX.XXX.XXX,XX), com o tamanho de 14 bytes. Tamanho de Retorno 3 bytes (Status) Observação No caso de acréscimo ou desconto por valor, o valor deve ser inferior ao registrado no item. 32\n33 3) Com Acréscimo e Desconto Simultaneos por Percentual ou Valor Parâmetro 1 (obrigatório) T ou t para Acréscimo e Desconto simultaneamente, no tamanho de 1 byte. Parâmetro 2 (obrigatório) ACRÉSCIMO por Percentual ( ASCII no formato XX,XX%), com o tamanho de 4 bytes ou por Valor ( ASCIII no formato ( XXX.XXX.XXX.XXX,XX) com o tamanho de 14 bytes Parâmetro 3 (obrigatório) DESCONTO por Percentual ( ASCII no formato XX,XX%), com o tamanho de 4 bytes ou por Valor ( ASCIII no formato ( XXX.XXX.XXX.XXX,XX) com o tamanho de 14 bytes. Tamanho de Retorno 3 bytes (Status) Observação No caso de Acréscimo e Desconto por Valor, o valor descontado ou acrescido deve ser inferior ao subtotal do cupom e caso o de Acréscimo e Desconto seja por Percentual, a taxa descontada ou acrescida deve ser inferior à 100%. Inicialmente será feita a operação de acréscimo e em seguida a operação de desconto. INICIA FECHAMENTO DE CUPOM FISCAL SEM FORMAS DE PAGAMENTO Comando ESC 103 Parâmetro NENHUM Tamanho de Retorno 3 bytes (Status) Observações Subtotaliza o cupom habilitando as operações de: 1) Acréscimo/desconto em subtotal 2) Cancelamento de Acréscimo/desconto em subtotal 3) Totalização do Cupom Fiscal Restrições 1 O cupom fiscal deverá estar aberto e com item vendido 2 Caso o valor total do cupom seja ZERO, o mesmo será cancelado ACRÉSCIMO/DESCONTO EM SUBTOTAL Comando ESC 104 Parâmetro 1 (obrigatório) A para ACRÉSCIMO ou D para desconto, com tamanho 1 byte. Parâmetro 2 (obrigatório) Percentual ( ASCII no formato XX,XX%) com o tamanho de 4 bytes ou Valor (ASCII no formato XXX. XXX.XXX.XXX,XX) com o tamanho de 14 bytes. Tamanho de Retorno 3 bytes (Status) 33\n34 Restrições 1 O cupom fiscal deverá estar subtotalizado 2 O cupom não pode estar totalizado. 3 É permitido o registro de apenas uma operação válida de acréscimo e desconto no subtotal CANCELAMENTO DE ACRÉSCIMO/DESCONTO EM SUBTOTAL Comando ESC 105 ou Parâmetro 1 (obrigatório) A para ACRÉSCIMO ou D para DESCONTO, com tamanho 1 byte. Parâmetro 2 (obrigatório) Percentual (ASCII no formato XX,XX%) com o tamanho de 4 bytes ou Valor (ASCII no formato XXX. XXX.XXX.XXX,XX) com o tamanho de 14 bytes. Tamanho de Retorno 3 bytes (Status) Restrições 1 O cupom fiscal deverá estar subtotalizado 2 O cupom deve ter operações de acréscimo ou desconto em subtotal anteriores 3 O cupom não pode estar totalizado. 4 Não será permitido o cancelamento do acréscimo, caso tenha ocorrido desconto após o acréscimo. 5 Não será permitido o cancelamento do desconto caso tenha ocorrido acréscimo após o desconto. TOTALIZA O CUPOM FISCAL Comando ESC 106 Parâmetro NENHUM Tamanho de Retorno 3 bytes (Status) Observações Totaliza os cupons fiscais habilitando as formas de pagamento EFETUA FORMA DE PAGAMENTO Comando ESC 72 Parâmetro 1 (obrigatório) Índice da Forma de Pagamento (ASCII numérico de 01 até 20 ), com o tamanho de 2 bytes. Parâmetro 2 (obrigatório) Valor da forma de pagamento (ASCII numérico formato XXXXXXXXXXXX,XX ), com o tamanho de 14 bytes. Parâmetro 3 (opcional) Descrição opcional para a forma de pagamento (ASCII), até 80 caracteres. 34 Tamanho de Retorno\n35 Observações Caso a forma de pagamento exceda o valor total do cupom, a diferença sera contabilizada no totalizador TROCO. EFETUA FORMA DE PAGAMENTO COM PARCELAMENTO Comando ESC 90 Parâmetro 1 (obrigatório) Índice da Forma de Pagamento (ASCII numérico de 01 até 20 ), com o tamanho de 2 bytes. Parâmetro 2 (obrigatório) Valor da forma de pagamento (ASCII numérico formato XXXXXXXXXXXX,XX ), com o tamanho de 14 bytes. Parâmetro 3 (obrigatório) Número de parcelas para emissão do Comprovante de Débito ou Crédito, com o tamanho de 2 bytes. Parâmetro 3 (opcional) Descrição opcional para a forma de pagamento (ASCII), até 80 caracteres. Tamanho de Retorno Observações Caso a forma de pagamento exceda o valor total do cupom, a diferença sera contabilizada no totalizador TROCO. TERMINA O FECHAMENTO DO CUPOM COM FORMAS DE PAGAMENTO Comando ESC 34 Parâmetro (obrigatório) Mensagem Promocional (ASCII), com até 492 caracteres. Tamanho de Retorno Observação A impressão será limitada em até 8 linhas. Se não houver sido vendido nenhum item não será permitido o fechamento do cupom EMISSÃO DO CUPOM ADICIONAL Comando ESC 85 Parâmetro NENHUM Observação Somente será efetuada a emissão do Cupom Adicional se comandado imediatamente após a emissão do cupom fiscal. 35\n36 ESTORNO DE FORMAS DE PAGAMENTO Comando ESC 74 Parâmetro 1 (obrigatório) Descrição da Forma de Pagamento de Origem, com o tamanho de 16 bytes. Parâmetro 2 (obrigatório) Descrição da Forma de Pagamento de Destino, com o tamanho de 16 bytes. Parâmetro 3 (obrigatório) Valor a ser estornado, com o tamanho de 14 bytes. Tamanho de Retorno Observações Este comando permite estornar valores de uma Forma de Pagamento, utilizada no último Cupom, e inserir em outra Forma de Pagamento. CANCELAMENTO DE CUPOM Comando ESC 14 Parâmetros (opcionais) CPF: - 29 caracteres NOME: - 30 caracteres ENDEREÇO: - 80 caracteres Tamanho de Retorno Observação Poderá ser utilizado para cancelamento de cupom fiscal em execução. Imprimindo, no cupom fiscal em execução, a mensagem Cupom Fiscal Cancelado. Poderá ser executado imediatamente após a emissão de um Cupom Fiscal. Nesse caso imprimirá um Cupom Fiscal de Cancelamento. Comandos de Relatórios Fiscais EMISSÃO DE REDUÇÃO Z  EMISSÃO DE LEITURA X  EMISSÃO DE LEITURA DA MEMÓRIA FISCAL  EMISSÃO DE LEITURA X PELA SERIAL  EMISSÃO DE REDUÇÃO Z Comando ESC 05 Parâmetro (opcional) Campo opcional para Data e Hora no formato DDMMAAHHMMSS para ajuste do relogio interno do equipamento. 36 Tamanho de Retorno\n37 Observação Somente será aceita uma alteração de +/- 5 minutos com relação ao relógio interno do ECF, valores fora da faixa serão limitados a 5 minutos. A emissão da Redução Z fecha a movimenação do ECF, liberando-o, só após a virada de seu relógio interno. EMISSÃO DE LEITURA X Comando ESC 06 Parâmetro NENHUM Tamanho de Retorno EMISSÃO DE LEITURA DA MEMÓRIA FISCAL Comando ESC 08 a) Emissão Com Intervalo de Datas: Parâmetro 1 (obrigatório) Dia inicial DD, com o tamanho de 2 bytes, Mês inicial MM, com o tamanho de 2 bytes e Ano inicial AA, com o tamanho de 2 bytes. Parâmetro 2 (obrigatório) Dia final DD, com o tamanho de 2 bytes, Mês final MM, com o tamanho de 2 bytes e Ano final AA, com o tamanho de 2 bytes. Parâmetro 3 (obrigatório) Saída I para impressão ou R para recebimento via interface serial, com o tamanho de 1 byte. Tamanho de Retorno No caso de R no parâmetro 3, o recebimento será da seguinte forma: A impressora enviará ACK após receber o comando seguido dos dois bytes de STATUS, [ST1] [ST2]. Após tratá-lo, enviará os dados em formato ASCII, terminando com ETX (03h). Observação Se o ANO INICIAL for menor que 98 será considerado como posterior a Os dados são enviados pela porta serial como um pacote ASCII. Seu aplicativo deverá tratar estes dados como um arquivo e gravá-los no formato (ASCII). b) Emissão por Intervalo de Reduções: Parâmetro 1 (obrigatório) Com o tamanho de 2 bytes. Ex.: 00. Parâmetro 2 (obrigatório) Redução Inicial XXXX, com o tamanho de 4 bytes. 37\n38 Parâmetro 3 (obrigatório) Com o tamanho de 2 bytes. Ex.: 00. Parâmetro 4 (obrigatório) Redução Final XXXX, com o tamanho de 4 bytes. Parâmetro 5 (obrigatório) Saída I para impressão ou R para recebimento via interface serial, com o tamanho de 1 byte. Saída i para impressão ou r para recebimento via interface serial, da LMF simplificada, com o tamanho de 1 byte Tamanho de Retorno EMISSÃO DE LEITURA X PELA SERIAL Comando ESC 69 Parâmetro NENHUM Retorno A impressora enviará ACK após receber o comando seguido dos dois bytes de STATUS, [ST1] [ST2]. Após tratá-lo, enviará os dados em formato ASCII, terminando com ETX (03h). Comandos das Operações Não Fiscais Comprovantes Não Fiscais Abertura de comprovante não fiscal  Efetua recebimento não fiscal  Cancelamento do comprovante não fiscal  Subtotaliza comprovante não fiscal  Acréscimo/Desconto em item não fiscal  Cancelamento de Acréscimo/Desconto em item não fiscal  Cancelamento de item não fiscal  Acréscimo/desconto em Subtotal de comprovante não fiscal  Cancelamento de acréscimo/desconto em subtotal de comprovante não fiscal  Inicia Fechamento de Comprovante não fiscal  Totaliza comprovante não Fiscal  Efetua forma de pagamento  Efetua forma de pagamento com parcelamento  Termina Fechamento  Estorno da Forma de Pagamento  Estorno CDC posterior  Comprovante não fiscal  ABRE COMPROVANTE NÃO FISCAL Comando ESC 77 Parâmetro 1 (opcional) CPF do consumidor, com o tamanho de 29 bytes. 38\n39 Parâmetro 2 (opcional) Nome do consumidor, com o tamanho de 30 bytes. Parâmetro 3 (opcional) Endereço do consumidor com o tamanho de 80 bytes. Tamaho de Retorno EFETUA RECEBIMENTO NÃO FISCAL Comando ESC 78 Parâmetro 1 (obrigatório) Número do totalizador não fiscal com o tamanho de 3 bytes. Parâmetro 2 (opcional) Valor, (ASCII numérico no formato XXX.XXX.XXX.XXX,XX), com o tamanho de Z bytes. Tamaho de Retorno Observações Para este comando ser válido o totalizador não fiscal deverá ter sido previamente programado e o comprovante não fiscal deve ter sido aberto anteriormente. O valor do recebimento será acumulado no totalizador não fiscal indicado. SUBTOTALIZA COMPROVANTE NÃO FISCAL Comando ESC 107 Parâmetro NENHUM Tamaho de Retorno Observações Subtotaliza o cupom fiscal habilitando as operações: 1 Acréscimo/desconto em subtotal de comprovante não fiscal 2 Cancelamento de Acréscimo/desconto em subtotal de comprovante não fiscal 3 Totalização do comprovante não fiscal Restrições 1 O comprovante não fiscal deverá estar aberto com item vendido. 2 Caso o valor total do cupom seja ZERO, o mesmo será cancelado. 39\n40 ACRÉSCIMO/DESCONTO EM SUBTOTAL DE COMPROVANTE NÃO FISCAL Comando ESC 108 Parâmetro 1 (obrigatório) A para acréscimo, D para desconto, tamanho de 1 byte. Parâmetro 2 (obrigatório) Valor (ASCII numérico no formato XXX.XXX.XXX.XXX,XX) para acréscimo/desconto por valor com o tamanho de 14 bytes. OU Parâmetro 2 (obrigatório) Valor (ASCII numérico no formato XX,XX) para acréscimo/desconto por percentual com tamanho de 4 bytes. Tamaho de Retorno Observações O comprovante não fiscal deve estar subtotalizado. O comprovante não fiscal não pode estar totalizado. É permitido o registro de apenas uma operação válida de acréscimo e desconto no subtotal. CANCELAMENTO DE ACRÉSCIMO/DESCONTO EM SUBTOTAL DE CUPOM NÃO FISCAL Comando ESC 109 Parâmetro 1 (obrigatório) A para ACRÉSCIMO ou D para DESCONTO, com tamanho 1 byte. Parâmetro 2 (obrigatório) Percentual ( ASCII no formato XX,XX%) com o tamanho de 4 bytes ou Valor (ASCII no formato XXX. XXX.XXX.XXX,XX) com o tamanho de 14 bytes. Tamanho de Retorno 3 bytes (Status) Restrições 1 O cupom fiscal deverá estar subtotalizado 2 O cupom deve ter operações de acréscimo ou desconto em subtotal anteriores 3 O cupom não pode estar totalizado. 4 Não será permitido o cancelamento do acréscimo, caso tenha ocorrido desconto após o acréscimo. 5 Não será permitido o cancelamento do desconto caso tenha ocorrido acréscimo após o desconto. Observações O comprovante deve estar subtotalizado. O comprovante deve ter registros de operações de acréscimo ou desconto em subtotal anteriores. O comprovante não fiscal não pode estar totalizado. Este comando não funciona para acréscimos/descontos emitidos pelo comando ESC 79. Inicio de fechamento de comprovante. 40\n41 CANCELAMENTO DE ITEM NÃO FISCAL Comando ESC 116 Parâmetro 1 (obrigatório) Número do item com o tamanho de 4 bytes. Tamaho de Retorno Observações O cupom deverá estar aberto. Ao menos 1 recebimento deverá ter sido lançado no cupom não fiscal. Não deverá ter ocorrido cancelamento do item anteriormente. O cupom não deverá estar subtotalizado. O item a ser cancelado deverá estar entre os últimos 300 no cupom. ACRÉSCIMO/DESCONTO EM ITEM NÃO FISCAL Comando ESC 117 Parâmetro 1 (obrigatório) A para acréscimo e D para desconto com o tamanho de 1 byte. Número do item com tamanho de 3 bytes Se for por percentual: Valor ( ASCII númerico XX,XX) com tamanho de 4 bytes Se for por valor: Valor ( ASCII numérico XXXXXX,XX) com tamanho de 8 bytes. Tamaho de Retorno Observações Pré-requisitos: 1) O cupom não fiscal deverá estar aberto. 2) Ao menos 01 (um) recebimento deverá ter sido lançado no cupom não fiscal. 3) Não deverá ter ocorrido cancelamento do item anteriormente. 4) O cupom não fiscal não deverá estar subtotalizado 5) O item a ser acrescido ou descontado deverá estar entre os últimos ( 300 para 4610-KR4) lançados no cupom não fiscal 6) Esta operação não é permitida para operações de SANGRIA e SUPRIMENTO Este comando permite efetuar a operação de acréscimo ou desconto em item enquanto o cupom não fiscal não estiver subtotalizado. É permitida apenas uma operação de acréscimo e uma operação de desconto válidas para cada item não fiscal. CANCELAMENTO DE ACRÉSCIMO/DESCONTO EM ITEM NÃO FISCAL Comando ESC 118 Parâmetros (Obrigatório) AD Caracter ASCII (Obrigatório) VALOR Caracteres ASCII numéricos AD - A ou a para cancelamento de acréscimo ou D ou d para cancelamento de desconto em item. VALOR - número do item para o qual será efetuado o cancelamento do acréscimo ou do desconto. 41\n42 Tamaho de Retorno Observações Pré Requisitos: 1) O cupom não fiscal deverá estar aberto. 2) O item a ser cancelado deverá ter sido lançado previamente no cupom não fiscal. 3) Não deverá ter ocorrido cancelamento do item anteriormente. 4) O cupom não fiscal não deverá estar subtotalizado. O cancelamento das operações de acréscimo ou desconto fica restrito aos 300 últimos itens últimos itens registrados no cupom NÃO fiscal. ESTORNO DE FORMAS DE PAGAMENTO Comando ESC 74 Parâmetro 1 (obrigatório) Descrição da Forma de Pagamento de Origem, com o tamanho de 16 bytes. Parâmetro 2 (obrigatório) Descrição da Forma de Pagamento de Destino, com o tamanho de 16 bytes. Parâmetro 3 (obrigatório) Valor a ser estornado, com o tamanho de 14 bytes. Tamanho de Retorno Observações Este comando permite estornar valores de uma Forma de Pagamento, utilizada no último Cupom, e inserir em outra Forma de Pagamento. 42 ESTORNO DE CDC POSTERIOR Comando ESC 75 Parâmetro 1 (obrigatório) Descrição da Forma de Pagamento, com o tamanho de 16 bytes ASCII. Parâmetro 2 (obrigatório) Valor Pago, com o tamanho de 14 bytes ASCII. Parâmetro 3 (obrigatório) COO do Cupom Fiscal, com o tamanho de 6 bytes ASCII. Parâmetro 4 (obrigatório) COO do CDC a ser estornado, com o tamanho de 6 bytes ASCII. Parâmetro 5 (opcional) CPF Consumidor, com o tamanho de 29 bytes ASCII. Parâmetro 6 (opcional) Nome do Consumidor, com o tamanho de 30 bytes ASCII.\n43 Parâmetro 7 (opcional) Endereço, com o tamanho de 80 bytes ASCII. Tamanho de Retorno Observações Este comando permite o estorno de CDC mesmo não imediatamente após e permite cancelamento de cupons fiscais após o estorno de todos os CDCs emitidos após o referido cupom fiscal. COMPROVANTE NÃO FISCAL Comando ESC 25 Parâmetro 1 (obrigatório) SA =Sangria, SU =Suprimento, ou #1 até #9, ou 01 até 30 para recebimento em totalizador parcial não sujeito ao ICMS, em ASCII com o tamanho de 2 bytes. Parâmetro 2 (obrigatório) Valor, com o tamanho de 14 bytes. Parâmetro 3 (opcional) Descrição da Forma de Pagamento, com o tamanho de 16 bytes. Tamaho de Retorno Observações O comando para programar o nome do Totalizador Parcial Não Sujeito ao ICMS, está descrito nos COMANDOS DE INICIALIZAÇÃO. Caso a Descrição da Forma de Pagamento não seja passada, o recebimento será totalizado em Dinheiro. A Sangria não acumula e nem retira de nenhuma forma de pagamento, ela é a única que não totaliza em nenhuma forma de pagamento. Este comando abre, efetua e finaliza o comprovante não-fiscal. Recomenda-se a sua utilização quando for efetuado apenas 1 recebimento no comprovante sem operações de acréscimo/desconto em subtotal. TOTALIZA COMPROVANTE NÃO FISCAL Comando ESC 110 Parâmetro NENHUM Tamaho de Retorno Observações O comprovante deve estar subtotalizado com o comando ESC 107 subtotaliza comprovante não fiscal. 43\n44 EFETUA FORMA DE PAGAMENTO COM PARCELAMENTO Comando ESC 90 Parâmetro 1 (obrigatório) Índice da Forma de Pagamento (ASCII numérico de 01 até 20 ), com o tamanho de 2 bytes. Parâmetro 2 (obrigatório) Valor da forma de pagamento (ASCII numérico formato XXXXXXXXXXXX,XX ), com o tamanho de 14 bytes. Parâmetro 3 (obrigatório) Número de parcelas para emissão do Comprovante de Débito ou Crédito, com o tamanho de 2 bytes. Parâmetro 3 (opcional) Descrição opcional para a forma de pagamento (ASCII), até 80 caracteres. Tamanho de Retorno Observações Caso a forma de pagamento exceda o valor total do cupom, a diferença sera contabilizada no totalizador TROCO. TERMINA O FECHAMENTO DO CUPOM COM FORMAS DE PAGAMENTO Comando ESC 34 Parâmetro (obrigatório) Mensagem Promocional (ASCII), com até 492 caracteres. Tamanho de Retorno Observação A impressão será limitada em até 8 linhas. Se não houver sido vendido nenhum item não será permitido o fechamento do cupom 44 INICIA FECHAMENTO DE COMPROVANTE NÃO FISCAL Comando ESC 79 1) Com Acréscimo ou Desconto por Percentual. Parâmetro 1 (obrigatório) A para acréscimo, D para desconto com o tamanho de 1 byte. Parâmetro 2 (obrigatório) Percentual no formato xx,xx% com o tamanho de 4 bytes. Tamaho de Retorno 2) Com Acréscimo ou Desconto por valor.\n45 Parâmetro 1 (obrigatório) a para acréscimo, d para desconto com o tamanho de 1 byte. Parâmetro 2 (obrigatório) Valor no formato XXXXXXXXXXXX,XX com o tamanho de 14 bytes. Tamaho de Retorno Observações Para este comando ser válido o totalizador não fiscal deverá ter sido previamente programado e o comprovante não fiscal deve ter sido aberto anteriormente. O valor do recebimento será acumulado no totalizador não fiscal indicado. CANCELAMENTO DE COMPROVANTE NÃO FISCAL Comando ESC 81 Parâmetro 1 (opcional) Descrição da CPF/CNPJ do consumidor com o tamanho de 29 bytes. Parâmetro 2 (opcional) Descrição do Nome do consumidor com o tamanho de 30 bytes. Parâmetro 3 (opcional) Descrição do CPF/CNPJ do consumidor com o tamanho de 80 bytes. Tamaho de Retorno Observações Este comando cancela um Comprovante Não Fiscal, sendo que se o comprovante estiver em emissão, será impressa a mensagem COMPROVANTE NÃO FISCAL CANCELAMENTO e o comprovante é fechado automaticamente na sequência. Caso o Comprovante não fiscal já tenha sido fechado, será emitido um COMPROVANTE NÃO FISCAL CANCELAMENTO, mas esta operação deverá ser imediatamente após a emissão do comprovante. ESTORNO DA FORMA DE PAGAMENTO Comando ESC 74 Parâmetro 1 (opcional) Descrição da forma de pagamento de origem, com o tamanho de 16 bytes. Parâmetro 2 (opcional) Descrição da forma de pagamento de destino, com o tamanho de 16 bytes. Parâmetro 3 (opcional) Valor a ser estornado com o tamanho de 14 bytes. Tamaho de Retorno 45\n46 Observações Este comando permite estornar valores de uma forma de pagamento, utilizada no último cupom, e inserir em outra forma de pagamento. O valor a ser estornado deve ser igual ao total da forma de pagamento de origem. Este comando só será executado se o Cupom Fiscal estiver fechado. Comprovantes de Crédito ou Débito Abertura de comprovante de crédito ou débito  Usa comprovante de crédito ou débito  Estorno de comprovante de crédito ou débito  Fechamento de comprovante de crédito ou débito  Reimpressão do último comprovante de crédito ou débito  Imprime segunda via do comprovante de crédito ou débito  ABRE COMPROVANTE DE CRÉDITO OU DÉBITO Comando ESC 66 Parâmetro 1 (obrigatório) Descrição da Forma de Pagamento, com o tamanho de 16 bytes. Parâmetro 2 (obrigatório) Valor da Forma de Pagamento, com o tamanho de 14 bytes. Parâmetro 3 (obrigatório) COO do cupom que originou o vínculo, com o tamanho de 6 bytes. Parâmetro 4 (opcional) CPF do consumidor, com o tamanho de 29 bytes. Parâmetro 5 (opcional) Nome do consumidor, com o tamanho de 30 bytes. Parâmetro 6 (opcional) Endereço do consumidor com o tamanho de 80 bytes. Tamaho de Retorno Observações Este comando só será executado para as Formas de Pagamento diferentes de Dinheiro, e com as formas de pagamentos que estiverem com a opção TEF habilitada,,não há necessidade de usá-lo logo após um Cupom Fiscal ou de um Recebimento não Fiscal, pois este comando é vinculado ao COO do Cupom Fiscal que o originou. Se o comando for executado imediatamente após um Cupom Fiscal ou de um Recebimento não Fiscal, poderá ser informado como parâmetro apenas a Descrição da Forma de Pagamento utilizada. Pode ser emitido um comprovante para cada forma de pagamento utilizada no Comprovante Não Fiscal ou Cupom Fiscal. O prazo máximo é de 2 minutos fechando automaticamente caso esse tempo seja excedido. 46\n47 USA COMPROVANTE DE CRÉDITO OU DÉBITO Comando ESC 67 Parâmetro (obrigatório) Texto a ser impresso dentro do comprovante de crédito ou débito ou relatório gerencial, pacotes de até 620 bytes com o tempo limite de 2 minutos. Tamaho de Retorno Observações Este comando poderá ser usado mais de uma vez durante 2 (dois) minutos após a sua abertura. Para fechar este comprovante, pode ser usado o comando de Fechamento de Relatório Gerencial. REIMPRESSÃO DO ÚLTIMO COMPROVANTE DE CRÉDITO OU DÉBITO Comando ESC 92 Parâmetro NENHUM Tamaho de Retorno 3 bytes (Status) Observações Este comando reimprime o Comprovante de crédito ou débito da operação imediatamente anterior IMPRIME SEGUNDA VIA DO COMPROVANTE DE CRÉDITO OU DÉBITO Comando ESC 91 Parâmetro NENHUM Tamaho de Retorno 3 bytes (Status) Observações Este comando deve ser executado imediatamente após a emissão da primeira via do comprovante não fiscal vinculado. Será impresso uma cópia do comprovante anterior com a indicação de segunda via. Após a execução deste comando, será possível realizar a sua reimpressão através da execução do comando de reimpressão do comprovante fiscal vinculado. ESTORNO DE COMPROVANTE DE CRÉDITO OU DÉBITO Comando ESC 102 Parâmetro 1 (opcional) Descrição da CPF/CNPJ do consumidor com o tamanho de 29 bytes. Parâmetro 2 (opcional) Descrição do Nome do consumidor com o tamanho de 30 bytes. Parâmetro 3 (opcional) Descrição do CPF/CNPJ do consumidor com o tamanho de 80 bytes. 47\n48 Tamaho de Retorno Observações Emite o comprovante de crédito ou débito para estorno de operações de crédito ou débito, sendo que deverá ser emitido imediatamente após o comprovante de crédito ou débito. FECHAMENTO DE COMPROVANTE DE CRÉDITO OU DÉBITO Comando ESC 21 Parâmetro NENHUM Tamaho de Retorno Relatórios Gerenciais Abertura relatório gerencial  Abre relatório gerencial default para Relatório Geral  Usa relatório gerencial  Usa relatório gerencial  Fecha relatório gerencial  ABRE RELATÓRIO GERENCIAL Comando ESC 83 Parâmetro (obrigatório) número do relatório, com o tamanho de 2 bytes Tamaho de Retorno 3 bytes (Status) Observações Abre um relatório gerencial do tipo indicado podendo variar de 1 a 30 relatórios conforme programação feita anteriormente. O relatório permanecerá aberto por 2 minutos, se não for executado o comando de fechamento do relatório durante esse intervalo de tempo, o relatório irá fechar automaticamente. Qualquer comando diferente do relatório gerencial, enviado com um cupom não fiscal aberto, efetuará seu fechamento automaticamente. Caso sejam enviados novos dados a um relatório aberto, eles serão impressos dentro do mesmo relatório. 48\n49 USA COMPROVANTE RELATÓRIO GERENCIAL Comando ESC 67 Parâmetro (obrigatório) Texto a ser impresso dentro do comprovante de crédito ou débito ou relatório gerencial, pacotes de até 620 bytes com o tempo limite de 2 minutos. Tamaho de Retorno Observações Este comando poderá ser usado mais de uma vez durante 2 (dois) minutos após a sua abertura. Para fechar este comprovante, pode ser usado o comando de Fechamento de Relatório Gerencial. FECHAMENTO DE RELATÓRIO GERENCIAL Comando ESC 21 Parâmetro NENHUM Tamaho de Retorno ABRE RELATÓRIO GERENCIAL Comando ESC 20 Parâmetro (obrigatório) Texto a ser impresso no Relatório Gerencial, com até 620 bytes. Tamaho de Retorno Observações Abre um relatório gerencial default tipo 1 (Relatório Geral). O relatório permanecerá aberto por 2 minutos, se não for executado o comando de fechamento do relatório durante esse intervalo de tempo, o relatório irá fechar automaticamente. Qualquer comando diferente do relatório gerencial, enviado com um cupom não fiscal aberto, efetuará seu fechamento automaticamente. Caso sejam enviados novos dados a um relatório aberto, eles serão impressos dentro do mesmo relatório AVANÇA PAPEL E ACIONA CORTE Comando ESC Parâmetro Obrigatório Tamanho Formato Linhas de avanço antes do corte Sim 1 HEXADECIMAL Corte Sim 1 0 corte total 1 corte parcial 49\n50 Comandos da Gaveta de Dinheiro ACIONAMENTO DA GAVETA DE DINHEIRO Comando ESC 22 Parâmetro (obrigatório) Um byte (00 até FF) com o valor do tempo(ms) de acionamento do solenóide da Gaveta de Dinheiro (0-255ms). Tamaho de Retorno Observação Acionamento do solenóide de abertura da Gaveta. LEITURA DO ESTADO DA GAVETA DE DINHEIRO Comando ESC 23 Parâmetro NENHUM Tamaho de Retorno 3 bytes (Status) + 1 byte com o estado do sensor. Se 00 Sensor em nível zero. Se FF Sensor em nível um. Importante Verificar a documentação da sua gaveta para saber o nível lógico que a mesma enviará para a impressora. Comandos de Informações da Impressora RETORNO DE ALÍQUOTAS Comando ESC 26 Parâmetro NENHUM Tamaho de Retorno 1 byte, indicando o número de Alíquotas cadastradas. 32 bytes com os valores das Alíquotas 2 bytes para cada aliquota no formato BCD. RETORNO DOS TOTALIZADORES PARCIAIS Comando ESC 27 Observação São retornados os seguintes dados: Bytes de Status 3 bytes 50\n51 Totalizadores Parciais Tributados Isenção Não Incidência Substituição Totalizadores Parciais Não Sujeitos ao ICMS Sangria Suprimentos Grande Total 112 bytes(224 dígitos BCD) 7 bytes( 14 dígitos BCD) 7 bytes( 14 dígitos BCD) 7 bytes( 14 dígitos BCD) 63 bytes(126 dígitos BCD) 7 bytes( 14 dígitos BCD) 7 bytes( 14 dígitos BCD) 9 bytes( 18 dígitos BCD) RETORNO DOS TOTALIZADORES PARCIAIS COMPLETO Comando ESC 87 Parâmetro NENHUM Tamaho de Retorno total com 436 bytes. Observação Após o envio dos 436 Bytes será enviado o sinal ACK seguidos dos dois bytes de retorno. Lista completa dos totalizadores parciais retornados: Totalizadores parciais tributados 16x7=112 bytes (224 díg. BCD) Isenção de ICMS 7 bytes(14 dígitos BCD) Não incidência ICMS 7 bytes(14 dígitos BCD) Substituição ICMS 7 bytes(14 dígitos BCD) Isenção ISSQN 7 bytes(14 dígitos BCD) Não Incidência ISSQN 7 bytes(14 dígitos BCD) Substituição ISSQN 7 bytes(14 dígitos BCD) Descontos ICMS 7 bytes(14 dígitos BCD) Acréscimos ICMS 7 bytes(14 dígitos BCD) Cancelamentos ICMS 7 bytes(14 dígitos BCD) Descontos ISSQN 7 bytes(14 dígitos BCD) Acréscimos ISSQN 7 bytes(14 dígitos BCD) Cancelamentos ISQN 7 bytes(14 dígitos BCD) Totalizadores não fiscais + sangria e suprimento 30x7=210 bytes(420 díg.bcd) Descontos não-fiscais 7 bytes (14 dígitos BCD) Acréscimos não-fiscais 7 bytes (14 dígitos BCD) Cancelamento não-fiscais 7 bytes (14 dígitos BCD) Grande total 9 bytes (18 dígitos BCD) RETORNO DO SUBTOTAL Comando ESC 29 Tamaho de Retorno Subtotal com 14 bytes. 51\n52 RETORNO DO NÚMERO DO CUPOM Comando ESC 30 Tamaho de Retorno 6 bytes com o número do Cupom. RETORNO DE VARIÁVEIS Comando ESC 35 Parâmetro (obrigatório) Seleciona informação que será retornada, com o tamanho de 1 byte. A seguir é apresentada uma tabela com a variável que será retornada em função do parâmetro 1(chamado de V), nesta tabela constam o número de bytes que compõem a variável e o formato dos dados desta variável. Observação No formato ASCII os caracteres retornados são ASCII padrão. No formato BCD os caracteres retornados têm o seguinte formato: Se uma variável retornada for de 7 bytes BCD, e seu valor for R$ 1234,56 os 7 bytes retornados em caracter (14 dígitos BCD) serão: Através deste exemplo podemos observar que a unidade monetária destes dados está em centavos, sendo assim estes dados devem ser interpretados pelo aplicativo e a posição da vírgula está sempre entre o penúltimo e o último byte enviado para todas as variáveis que retornem valores monetários. [V] VARIÁVEL BYTES FORMATO 03 GRANDE TOTAL 09 BCD (18 dígitos BCD) 04 CANCELAMENTOS 07 BCD (14 dígitos BCD) 05 DESCONTOS 07 BCD (14 dígitos BCD) 06 CONTADOR SEQUÊNCIAL 03 BCD (6 dígitos BCD) 07 NÚMERO DE OPERAÇÕES NÃO FISCAIS 03 BCD (6 dígitos BCD) 08 NÚMERO DE CUPONS CANCELADOS 02 BCD (4 dígitos BCD) 09 NÚMERO DE REDUÇÕES 02 BCD (4 dígitos BCD) 10 NÚMERO DE INTERVENÇÕES TÉCNICAS 02 BCD (4 dígitos BCD) 11 NÚMERO DE SUBSTITUIÇÕES DE PROPRIETÁRIO 02 BCD (4 dígitos BCD) 12 NÚMERO DO ÚLTIMO ITEM VENDIDO 02 BCD (4 dígitos BCD) 13 CLICHÊ DO PROPRIETÁRIO 186 ASCII 14 NÚMERO DO CAIXA 02 BCD (4 dígitos BCD) 15 NÚMERO DA LOJA 02 BCD (4 dígitos BCD) 16 MOEDA 02 ASCII 17 FLAGS FISCAIS 01 DESCRIÇÃO ABAIXO 52\n53 18 MINUTOS LIGADA 02 BCD (4 dígitos BCD) 19 MINUTOS IMPRIMINDO 02 BCD (4 dígitos BCD) 20 FLAG DE INTERVENÇÃO TÉCNICA 01 55h Modo Normal AAh Interv. Técnica 21 FLAG DE EPROM CONECTADA 01 55h Eprom conectada AAh desconectada 22 VALOR PAGO NO ÚLTIMO CUPOM 07 BCD (14 dígitos BCD) DATA/HORA ATUAL(ORDEM DIA, MÊS, ANO, HORA,MIN, SEG) CONTADORES DOS TOTALIZADORES NÃO SUJEITOS AO ICMS DESCRIÇÃO DOS TOTALIZADORES NÃO SUJEITOS AO ICMS 06 BCD (6X2dígitos BCD) 18 BCD 9x2 (9x4 dígitos BCD) 171 BCD 9x19 (9 strings com 19 caracteres) 26 DATA DA ÚLTIMA REDUÇÃO 06 BCD (6X2dígitos BCD) 27 DATA DO MOVIMENTO (DIA, MÊS, ANO) 03 BCD (3X2 dígitos BCD) 28 FLAG DE TRUNCAMENTO FLAGS DE VINCULAÇÃO AO ISS 02 FF arredondamento 00 truncamento Bits setados indicam que o totalizador respectivo é Isnn 30 TOTALIZADOR DE ACRÉSCIMOS 07 BCD (14 dígitos BCD) 31 CONTADOR DE BILHETES DE PASSAGEM 03 BCD (6 digitos BCD) 40 NÚMERO DE SÉRIE 20 ASCII 41 VERSÃO DO FIRMWARE 01 * 42 CNPJ 20 ASCII 43 INSCRIÇÃO ESTADUAL 20 ASCII 44 INSCRIÇÃO MUNICIPAL 20 ASCII 45 TEMPO OPERACIONAL EM MINUTOS 02 BCD ( 4 DIGITOS BCD) 46 MINUTOS EMITINDO DOCUMENTOS FISCAIS 02 BCD ( 4 DIGITOS BCD) CONTADORES DOS TOTALIZADORES NÃO SUJEITOS AO ICMS DESCRIÇÃO DOS TOTALIZADORES NÃO SUJEITOS AO ICMS 49 FORMAS DE PAGAMENTO 620 4A 4B FLAG DE ATIVAÇÃO DO CORTE DO PROXIMO DOCUMENTO FLAG DE ATIVAÇÃO DO ALINHAMENTO DA DESCRIÇÃO À ESQUERDA 50 TOTALIZADORES NÃO SUJEITOS AO ICMS x4 (DIGITOS BCD) 570 ASCII 30x ASCII 20x16 ( DESCRIÇÃO) BCD 20x7 ( VALOR DAS FP) BCD 20x7 ( VALOR DAS FP s UTILIZADAS NO ÚLTIMO CUPOM) 20x1 55h SE PERMITE EMISSÃO DE TEF AAh SE NAO PERMITE EMISSAO DE TEF ASCII 31H INDICA QUE O CORTE ESTÁ DESATIVADO E 30H ATIVADO ASCII 31H INDICA QUE O ALINHAMENTO À ESQUERDA ESTÁ DESATIVADO 30H INDICA QUE ESTÁ ATIVADO ASCII 30X19 (descrição) ASCII 30X7 (valores) 53\n54 51 RELATÓRIOS GERENCIAIS CONTADOR DE COMPROVANTES DE CRÉDITO E DÉBITO CONTADOR DE OPERAÇÕES NÃO FISCAIS CANCELADAS 2 BCD 2 BCD 54 CONTADOR DE RELATÓRIOS GERENCIAIS 3 BCD 55 CONTADOR DE CUPOM FISCAL 3 BCD 56 CONTADOR DE FITA DETALHE 3 BCD 57 CONTADOR DE COMPROVANTES DE CRÉDITO E DÉBITO NÃO EMITIDOS 2 BCD 58 NÚMERO DE SÉRIE DA MFD 20 ASCII 59 NÚMERO DE REDUÇÕES RESTANTES 2 BCD 60 MARCA, MODELO, TIPO 42 BCD 30x2 (Contadores específicos) AXCII 30X17 (descrição) 61 PERCENTUAL DE MFD LIVRE 6 ASCII (XX,XX%) 62 TAMANHO TOTAL DE MFD EM BYTES 10 ASCII (10 digitos) 63 TAMANHO DA MFD LIVRE EM BYTES 10 ASCII (10 digitos) ASCII 15 (Marca) ASCII 20 (modelo) ASCII 7 (tipo) 64 DATA E HORA DO ÚLTIMO DOCUMENTO ARMAZENADO NA MFD 6 BCD (dd/mm/aa hh/mm/ss) BCD 20x7 (valor das FP) BCD 20x7 (valor das FP s utilizadas no último cupom) 20x1 55h se permite emissão de TEF. AAh se não permite emissão 65 FLAGS FISCAIS II 1 * 66 SUBTOTAL DO COMPROVANTE NÃO FISCAL 7 BCD 67 DATA DO MOVIMENTO DA ÚLTIMA REDUÇÃO Z 3 BCD (DD/MM/AA) 68 GRANDE TOTAL (GT) DA ULTIMA RZ 9 BCD (18 DÍGITOS) 69 NÃO UTILIZADO UF do usuário 2 ASCII Tempo restante para emissão do Comprovante de crédito ou débito ou do Relatório Gerencial COO do primeiro e do ultimo cupom fiscal da Redução Z do dia anterior GT do início e do final do dia referente a Redução Z do dia anterior 74 Flag de ativação do corte do próximo documento 1 75 Flag de ativação do alinhamento da descrição à esquerda 2 BCD (4 dígitos) tempo em segundos BCD (12 dígitos) 6 primeiros dígitos ref. COO do primeiro cupom e 6 últimos ref. COO do último cupom BCD (36 dígitos) 18 primeiros dígitos ref. GT do início do dia e 18 últimos ref. GT do final do dia ASCII 31H indica que o corte está desativado 30H indica que o corte está ativado ASCII 31H indica que o alinhamento à esquerda está desativado 30H indica que o alinhamento à esquerda está ativado 54\n55 76 FLAGS FISCAIS III 01 DESCRIÇÃO ABAIXO 77 VENDA BRUTA DIÁRIA 7 BCD 78 TROCO 7 BCD 79 VALOR RECEBIDO 7 BCD 80 Total ICMS devido no cupom fiscal 7 BCD 81 Total ISSQN devido no cupom fiscal 7 BCD 82 Versão do Firmware do Mechanismo 7 BCD 253 RETORNA TIPO DA IMPRESSORA Byte 1: (00) Bilhete de Passagem (FF) Cupom Fiscal Byte 2: (00) Presenter (FF) Sem Presenter Byte 3: (00) Cutter (FF) Sem Cutter 254 RETORNA ESTADO DOS SENSORES Cabeça levantada Tampa aberta Pouco papel Sem papel Gaveta Tecla Seleção precionada Em intervenção técnica 0x01 0x02 0x08 0x04 0x10 0x40 0x80 Segue abaixo a discriminação do byte de retorno, 17 (Flags Fiscais). bit 0=1 Cupom fiscal aberto. 1 bit 1=1 Fechamento de formas de pagamento iniciado. 2 bit 2=1 Horário de verão(selecionado=1). 4 bit 3=1 Já houve redução Z no dia. 8 bit 4=1 Última RZ foi automática 16 bit 5=1 Permite cancelar cupom fiscal. 32 bit 6 não existe. 64 bit 7=1 Memória fiscal sem espaço. 128 Segue abaixo a discriminação do byte de retorno, 65 (Flags Fiscais II): bit 0=1 Comprovante não-fiscal aberto 1 bit 1=1 Comprovante de crédito ou débito aberto 2 bit 2=1 Relatório gerencial aberto 4 bit 3=1 Totalizando cupom 8 bit 4= 16 0 impressora ON-LINE ATIVO 1 impressora OFF-LINE DESATIVADO bit 5=1 Permite cancelamento do CNF 32 bit 6=1 Estorno de CDC permitido 64 bit 7=1 não existe\n56 Segue abaixo a discriminação do byte de retorno, 76 (Flags Fiscais III). bit 0=1 impressora com pouco papel 1 bit 1=1 sensor de pouco papel habilitado 2 bit 2=1 cancelamento automático de cupom às duas horas habilitado bit 3 NÃO UTILIZADO 8 bit 4= 16 0 desconto em issqn desabilitado 1 desconto em issqn habilitado bit 5= 32 0 RZ automática desabilida 1 RZ automática habilitada bit 6= 64 0 impressora ON-LINE 1 impressora OFF-LINE bit 7 NÃO UTILIZADO LEITURA DOS DADOS DA ÚLTIMA REDUÇÃO Comando ESC 88 Tamanho de Retorno 621 bytes (BCD), com a seguinte estrutura. OBS: Após a troca de versão do Software Básico, a primeira chamada a esta função retornará dados inválidos. Os dados voltarão a ser válidos após a primeira redução Z efetuada com a versão do Software básico em execução. DESCRIÇÃO BYTES Digitos BCD RZ automática se zero indica que a RZ foi emitida por comando 1 2 CRO Contador de Reinício de Operação 2 4 CRZ Contador de Redução Z 2 4 COO Contador de Ordem de Operação 3 6 GNF Contador Geral de Operaçôes Não Fiscais 3 6 CCF Contador de Cupom Fiscal 3 6 GRGO Contador Geral de Relatório Gerencial 3 6 CFD Contador de Fita Detalhe Emitida 3 6 NFC Contador de Operação Não Fiscal Cancelada 2 4 CFC Contador de Cupom Fiscal Cancelado 2 4 CON Contadores Específicos de Operações não Fiscais 30x2 30x4 CER Contadores Específicos de Relatórios Gerenciais 30x2 30x4 CDC Contador de Comprovantes de Débito ou Crédito 2 4 NCN Contador de Débito ou Crédito não Emitidos 2 4 CCDC Contador de Débito ou Crédito Cancelados 2 4\n57 GT Totalizador Geral 9 18 TP Totalizador Parciais Tributados 16x7 16x14 I I Totalizador de Isenção de ICMS 7 14 NN Totalizador de Não Incidência de ICMS 7 14 FF Totalizador de Substituição Tributária de ICMS 7 14 SI Totalizador de Isenção de ISSQN 7 14 SN Totalizador de Não Incidência de ISSQN 7 14 SF Totalizador de Substituição Tributária de ISSQN 7 14 Totalizador de Desconto em ICMS 7 14 Totalizador de Desconto em ISSQN 7 14 Totalizador de Acrécimo em ICMS 7 14 Totalizador de Acrécimo em ISSQN 7 14 Totalizador de Cancelamentos em ICMS 7 14 Totalizador de Cancelamentos em ISSQN 7 14 TPNS Totalizadores Parciais Não sujeitos ao ICMS 28x7 28x14 Sangria Totalizacor de Sangria 7 14 Suprimento Totalizacor de Suprimento 7 14 Totalizador de Cancelamentos de Não Fiscais 7 14 Totalizador de Descontos de Não Fiscais 7 14 Totalizador de Acrécimos de Não Fiscais 7 14 Alíquotas Tributadas 16x2 16x4 Data do Movimento 3 6 TOTAL 621 LEITURA DO ESTADO DA IMPRESSORA Comando ESC 19 Tamaho de Retorno Observação A impressora fiscal enviará o seu estado atual pela interface MONITORAMENTO DO ESTADO DO PAPEL sem efeito Comando ESC Tamaho de Retorno 3 ou 5 bytes (Status). Observação Retorna o número de linhas impressas na condição de pouco papel. LEITURA DOS DADOS DA MF Comando ESC 11 57\n58 Parâmetro MF retorna 32 Kbytes de dados da MF. MF2 retorna 512 Kbytes de dados da MF. Tamaho de Retorno 32 ou 512 Kbytes. VERIFICA INTEGRIDADE DA MF Comando ESC 95 Envia pela serial as informações do número de células gravadas, ok e nok de cada região de gravação da MF: Retorna informações das células iniciais Retorna informações das células de número de série da MFD Retorna informações das células de Redução,Intervenção e CNPJ Retorna informações das células de Leituras da MFD Retorna informações das células de Versão do Software Básico IMPRIME CLICHÊ Imprime clichê do proprietário. Comando ESC 119 Tamaho de Retorno ENVIA FITA DETALHE PELA SERIAL Envia conteúdo da MFD pela serial Comando ESC Parâmetro 1 D envia dados por intervalo de data, caso contrário por COO Parâmetro 2 se for por Data ddmmaa data inicial ddmmaa data final Parâmetro 2 se for por COO xxxxxx COO inicial yyyyyy COO final zzz Número do Usuário Tamaho de Retorno ACK + Bytes de Status + dados em formato texto terminados com ETX (03h). 58\n59 Capítulo 7 Tabela de Caracteres Seleciona Code Page ASCII DEC. HEX. DESCRIÇÃO ESC t n 74 1B 74 n Seleciona Code Page n = 2 -> CODE PAGE 850 n = 3 -> CODE PAGE 437 n = 4 -> CODE PAGE 860 n = 5 -> CODE PAGE 858 Obs: comando habilitado apenas para os documentos de texto livre como, por exemplo, Relatório Gerencial, Comprovante de Crédito e Débito e Mensagem Promocional de Cupom Fiscal. Tabela ASCII Os códigos de 00 a 7F (hex) são independentes do modo de programação que se esteja utilizando e serão sempre os caracteres indicados na tabela abaixo. Tabela de Caracteres - CODE PAGE\n60 Tabela de Caracteres - CODE PAGE 437 Tabela de Caracteres - CODE PAGE\n61 Tabela de Caracteres - CODE PAGE\n62 Capítulo 8 Periférico de Comunicação GPRS O Módulo GPRS MP-4000 é um periférico de comunicação interno à impressora fiscal MP-4000 TH FI. Tratase de um dispositivo que não altera o modo de funcionamento básico do ECF, e portanto, não necessita de um programa aplicativo fiscal específico para este modelo. Aplicativos homologados para a MP-4000 TH FI continuam compatíveis na presença do módulo GPRS. O Módulo GPRS MP-4000 é um item opcional, entretanto a sua instalação pode ser exigida pelo fisco, conforme a necessidade. Sua principal função é prover um canal de comunicação seguro com as Secretarias da Fazenda dos Estados permitindo funcionalidades como: a) entrega remota dos dados fiscais; b) fiscalização/auditoria remota; c) envio de comandos online para o ECF. Nenhuma das operações acima terão impacto na operacionalidade normal do ECF. O Módulo GPRS MP-4000 é interno ao ECF e comunica com a placa controladora fiscal (PCF) independente de comandos externos. Com a adição da capacidade de conexão de um módulo GPRS nas impressoras MP-4000 TH FI versão de FW homologada ou superior, elimina-se a capacidade de resinagem da segunda MF. O Módulo é opcional, podendo a impressora já sair de fábrica com o mesmo montado ou ser montado posteriormente em uma rede de assistência técnica autorizada. As informações abaixo são importantes sobre como operar seu equipamento de forma segura. Recomendase ler as informações abaixo antes de utilizar seu equipamento. Exposição à Energia eletromagnética de Radiofreqüência (RF) A impressora MP-4000 TH FI GPRS contém um receptor/transmissor. Em funcionamento este receberá e transmitirá energia de radiofreqüência (RF). A sua impressora fiscal Bematech utiliza um celular que foi desenvolvido em conformidade com as exigências reguladoras do Brasil relacionada à exposição de seres humanos à energia de radiofreqüência. Precauções na utilização Nunca altere as características do seu produto, a alteração e uso de antenas não autorizadas e ou modificações nas conexões podem danificar o produto, às vezes alterando as emissões para níveis acima dos limites exigidos pelas leis do seu país. Certificação Anatel conformidade da União Européia A Bematech declara que este produto está de acordo e homologado conforme: Número Área Emissão Certificado Resolução Anatel 242 Certificação Produtos Telecomunicações 30/11/ Emissão 08/01/\n63 Resolução Anatel 442 Compatibilidade Eletromagnética 21/07/2006 Resolução Anatel 238 Segurança Elétrica 09/11/2000 A MP-4000 TH FI GPRS está em conformidade com as seguintes normas: Número Área CISPR 22 (2006) Emissão radiada IEC (2001) IEC (2006) IEC (2002) IEC (2005) IEC (2005) IEC (2004) ANATEL RES 238/2000 Emissão Conduzida Imunidade a Descargas Eletrostáticas Imunidade a Perturbações de radiofreqüência radiadas Imunidade a Transitórios Elétricos Rápidos Imunidade a Surtos Imunidade a Perturbações de radiofreqüência conduzidas Imunidade a Redução e a Interrupção da Tensão da Rede Elétrica Aspectos de Segurança Elétrica A MP-4000 TH FI opera em caráter secundário, isto é, não tem direito a proteção contra interferência prejudicial, mesmo de estações do mesmo tipo, e não pode causar interferência a sistemas em caráter primário. Compatibilidade Eletromagnética A maioria dos produtos eletrônicos são emissores ou receptores não intencionais estando sujeitos à interferência Em algumas circunstâncias, sua impressora poderá causar ou sofrer interferência de outros dispositivos. A MP-4000 TH FI GPRS está em conformidade com a CISPR 22, sua operação está sujeita as condições a seguir: (1) este dispositivo não deverá causar interferência perigosa e (2) este dispositivo poderá aceitar qualquer interferência recebida, incluindo aquelas que possam causar operação indesejada. Marca-passos Pessoas com marca-passos devem seguir as recomendações abaixo: Manter mais de 20 centímetros (8 polegadas) de distância entre a impressora e o marca-passo quando a primeira estiver ligada. Desligar a impressora imediatamente se tiver qualquer motivo para suspeitar que haja interferência. 63\n64 Capítulo 9 Cuidados Especiais Limpeza da Impressora Para manter o bom funcionamento de sua impressora você deve limpá-la regularmente conforme procedimento a seguir: 1 - Desligue a impressora; 2 - Abra a tampa e retire a bobina de papel; 3 - Utilize uma flanela ou pano macio e retire cuidadosamente a poeira acumulada; 4 - Se o gabinete da máquina estiver sujo, limpe-o com um pano macio umedecido em água ou detergente natural. Nunca use estopa quimicamente tratada ou substâncias químicas de qualquer espécie. O uso destes produtos pode fazer com que o gabinete mude de cor ou se deforme. 6- A cada 3 meses limpe a superfície de impressão termica com um cotonete embebecido com alcool. Nunca introduza objetos ou ferramentas na impressora. Local de Uso A impressora deve operar acomodada sobre uma superfície plana onde suas entradas de ar fiquem desobstruídas. Evite colocar a impressora em locais úmidos, sujeitos à poeira ou à ação do calor, como luz solar e aquecedores. 64\n65 Capítulo 10 Especificações Técnicas Características Especificação Método: Impressão de linha térmica direta Densidade de Impressão: 8 pontos/mm - aprox. 54lps (203 x 203 dpi) Velocidade de impressão do mecanismo: 250 mm/s aprox. 54 lps (máx. para modo texto e 203 dpi) Características de impressão Largura de impressão: Caracteres por linha: 48 e 57 Conjunto de caracteres: CODE Page 850 Largura de papel (mm) Largura de impressão (mm) 80 Até 76 (608 pontos) 82,5 Até 76 (608 pontos) Códigos de barra: Padrões EAN-13/8, Code 39, Code 93, Code 128 (A,B,C), ITF-14, Codabar, UPC- A/E, ISBN, MSI, Plessey, PDF-417. Acionamento da gaveta de dinheiro: 01 saída (conector RJ-11) Serrilha para corte manual Recursos Guilhotina: corte parcial e total Carga fácil de papel (Drop in / Easy Load) Sensores: Sensor de fim de papel, sensor de proximidade do fim do papel, sensor da tampa superior, sensor de abertura e sensor de temperatura da cabeça de impressão. Lacração do cartucho fiscal, permitindo troca do mecanismo sem a necessidade de retirada do lacre externo Comunicação Interfaces : 2x Serial (RS232C) e USB 1.1 Memória Set de Comandos Confiabilidade Alimentação Características físicas Mídia Condições Ambientais Memória fiscal: Memória Fita Detalhe - MFD: Software Básico: Comandos Bematech. Tempo de serviço da cabeça de impressão: Tempo de vida da Guilhotina: Entrada: V~1,6A 50/60Hz Saída: 24V-2,5A Altura: 146 mm Largura: 150 mm Profundidade: 218 mm Massa: 1,5 kg Tipo: Largura: Diâmetro: Espessura: Temperatura Umidade 1 MB permitindo 3350 Reduções Z (equivale a 9 anos) Até de 1GB de capacidade PROM com 512 KB 150 km 2 milhões de cortes Bobina de papel térmico 80 mm ou 82,5 mm Até 102 mm (4 polegadas) 56 a 107 mícrons De operação: +0 a +50ºC De armazenagem: -20 a +70ºC De operação: 10 a 90% sem condensação De armazenagem: 5 a 90% sem condensação Drivers e Softwares Windows 95 / 98 / ME, NT 4.0, Windows 2000, Windows XP, Windows Vista Linux. 65\n66 Capítulo 11 Solução de Problemas A seguir estão descritos alguns problemas que podem ocorrer durante o funcionamento da impressora e suas possíveis soluções. Problema Possível Causa Procedimento A impressora não liga. A impressora não responde aos comandos. A comunicação tem falhas. Os LEDs estão piscando. Impressão ruim. O papel não sai da impressora. Lâmina da guilhotina bloqueada. Não há energia na tomada. Possível problema com o cabo de força, ele pode estar rompido, ou não estar bem conectado à impressora e/ou à tomada. O cabo de comunicação tem uma ou mais linhas com conexões falhas/fios rompidos. Seqüências de programação erradas. O cabo de comunicação tem uma ou mais linhas com conexões falhas/ cabos rompidos. A pinagem não segue o protocolo correto. A taxa de bauds foi definida de maneira incorreta. A impressora informa seu status Partículas de pó e resíduos de papel no cabeçote da impressora podem influenciar a qualidade de impressão Papel atolado Objetos podem estar bloqueando a lâmina Verifique se há uma chave central/tomadas para a sala. Conecte outros equipamentos à tomada para verificar sua operação. Desligue a impressora; verifique a continuidade do cabo de força e a conexão perfeita entre a impressora e a tomada elétrica. Verifique se há uma boa conexão entre a impressora e o computador ou troque o cabo de comunicação. As seqüências de programação podem ser verificadas no modo dump. Coloque a impressora no modo dump e execute seu aplicativo novamente. A impressora mostrará os códigos hexadecimal e ASCII de todos os bytes recebidos do host. Verifique se há uma boa conexão entre a impressora e o computador ou troque o cabo de comunicação. Verifique se a pinagem adotada está de acordo com o protocolo utilizado para a transmissão de dados. Se a taxa de bauds definida no computador for diferente da taxa de bauds da impressora, a impressora imprimirá caracteres aleatórios ou não imprimirá nada. Verifique cuidadosamente a configuração de taxa de bauds serial do computador. Verifique a tabela de LED no ítem 1.2. Uma luz amarela significa um erro que pode ser corrigido facilmente. Geralmente, uma luz vermelha significa que é preciso chamar assistência técnica. Limpe o cabeçote de impressão como descrito no item 2.1. CUIDADO! Não toque na cabeça de impressão da impressora; deixe-a esfriar antes de tocá-la. Desligue a impressora e abra a tampa. Remova o papel amassado da impressora e instale uma nova bobina de papel se necessário. Remova o resto de papel amarrotado. Se a lâmina estiver bloqueada, desligue a impressora. Abra a tampa. Remova os objetos que estão bloqueando a lâmina, tal como clips de papel. Em seguida, ligue a impressora novamente. Espere a lâmina retornar. O firmware moverá a lâmina para a posição normal sem qualquer intervenção do usuário. Feche a tampa e espere por 3 segundos. Se isso não resolver o problema, não tente corrigi-lo sozinho. Peça assistência para resolvê-lo. 66\n67 Capítulo 12 Acionamento de Gaveta Na parte traseira de sua impressora fiscal está localizado o conector para acionar a gaveta. Sua pinagem é a descrita abaixo: a) Para gaveta : - Pino 1 = GND - Pino 2 = Acionamento do solenóide para abertura da gaveta. - Pino 3 = Sensor de gaveta aberta/fechada (gaveta fechada chave aberta). - Pino 4 = +24V - Pino 5 = NC - Pino 6 = GND Observar a marca da gaveta antes de conectá-la à impressora, pois a inversão das gavetas pode danificar a impressora. 67\n68 Capítulo 13 Roteiro Básico para Desenvolvimento do Aplicativo Existem algumas condições mínimas que devem ser respeitadas para que a sua solução não tenha problemas com o fisco, e que estão relacionadas abaixo: Os registros dos itens vendidos na impressora, devem ser feitos concomitantemente com a venda (item a item), por isso entende-se que as informações do cupom fiscal não devem ser bufferizadas e enviadas para a impressora somente ao final da venda ao consumidor. Isto é exigido para que não haja a possibilidade no aplicativo da não emissão do cupom fiscal. No início e término das bobinas deve ser feita uma Leitura X, para isso é interessante monitorar as situações de pouco papel e fim de papel. A Leitura da Memória Fiscal para meio magnético pode ser realizada pelo aplicativo WinMFD2, disponível no site da Bematech. O banco de dados dos itens que o estabelecimento comercializa deve estar disponível para fins de fiscalização na forma de arquivo texto com os campos Código do Item, Descrição do Item e Situação Tributária. As linhas abaixo tratam de procedimentos necessários para a aplicação. Abertura do ECF 1. Verificar se é possível estabelecer comunicação com a impressora. Para essa tarefa pode-se utilizar o comando de Leitura do Status da Impressora. 2. Verificar a data do movimento, se esta for diferente de zero ainda não foi efetuado o fechamento do ECF. 3. Verificar a data atual do ECF e compará-la com a do micro, se existir uma diferença além de um limite tolerável (por exemplo 30 minutos) solicite intervenção técnica no equipamento ou acerto da hora do micro. 4. Leia as alíquotas programadas no ECF, verifique se as alíquotas necessárias aos itens cadastrados no sistema estão presentes na impressora. Caso haja alíquotas faltando adicione-as. Crie uma tabela de referência cruzada entre as alíquotas necessárias para a aplicação e as que estão cadastradas na impressora. Exemplo: No banco de dados existem itens em 3 classes de tributação 5,00% (ISS), 12,00% e 25,00%. Em duas impressoras diferentes as alíquotas programadas são as seguintes: TOTALIZADOR IMPRESSORA1 IMPRESSORA 2 01 T01=12,00% IS01=05,00% 02 T02=05,00% T02=17,00% 03 T03=17,00% T03=12,00% Através da leitura das informações sobre as alíquotas e vinculação ao ISS é possível reprogramar T02 para IS02 no caso da impressora 1. De posse das informações acima o aplicativo iria vender corretamente tanto na impressora 1 quanto na 2, uma venda de 17,00% na impressora 1 seria feita em T03 e na 2 em T02. Caso haja alíquotas ainda não programadas a aplicação pode programá-las neste momento. 5. Verifique as informações que possam ser relevantes do comando de retorno de variáveis, tais como Versão do Software Básico, Moeda, Loja, Caixa, Clichê etc. 68\n69 6. Efetue as Programações Iniciais necessárias. Informações como por exemplo, flag de horário de verão, símbolo da moeda e outras podem ser atualizadas nesse passo. 7. Emita uma Leitura X. Emissão do Cupom Fiscal ou Bilhete de Passagem 1. Abra o Cupom Fiscal ou Bilhete de Passagem. 2. Registre os itens no totalizador devido. Pode ser do ICMS ou do ISS. 3. Cancele os itens caso necessário. 4. Feche com formas de pagamento. 5. O campo de mensagem promocional pode ser utilizado para a impressão de dados do consumidor. 6. Efetue o cancelamento do cupom caso necessário. Fechamento do ECF 1. Este procedimento deve ser executado até as 2h do dia seguinte ao do movimento. 2. Feche cupons/relatórios possivelmente abertos. 3. Emita possíveis relatórios gerenciais. 4. Execute a Redução Z. COMENTÁRIOS GERAIS 1. Recebimentos Não Sujeitos ao ICMS podem ser utilizados por exemplo para Conta de Luz, Água, Carnê, etc. Existem contadores específicos para estas operações que podem servir para registrar o número de operações deste tipo executadas. 2. Com respeito ao Arredondamento/Truncamento. Refere-se exclusivamente à multiplicação efetuada na venda de item com quantidade fracionária. Exemplo: Quantidade... 1,249 kg Valor unitário... R$ 2,00 / kg Com arredondamento: Valor Total... R$2,50 Com truncamento: Valor Total... R$2,49 69\n70 Capítulo 14 Capacidade de Dígitos dos Contadores e Totalizadores CÓD DESCRIÇÃO DIG TIPO GT GRANDE TOTAL/TOTALIZADOR GERAL 18 I - GT DO DIA ANTERIOR 18 I - VENDA BRUTA 16 R - VENDA LÍQUIDA 16 R - CANCELAMENTOS 13 R - ACRÉSCIMOS 13 R II TOTALIZADOR PARCIAL ISENÇÃO DE ICMS 13 R FF TOTALIZADOR PARCIAL SUBSTITUIÇÃO TRIBUTÁRIA DE ICMS 13 R NN TOTALIZADOR PARCIAL NÃO INCIDÊNCIA DE ICMS 13 R SI TOTALIZADOR PARCIAL ISENÇÃO DE ISSQN 13 R SF TOTALIZADOR PARCIAL SUBSTITUIÇÃO TRIBUTÁRIA DE ISSQN 13 R SN TOTALIZADOR PARCIAL NÃO INCIDÊNCIA DE ISSQN 13 R TQ1/ISO1 TOTALIZADOR PARCIAL TRIBUTADO 13 R T16/IS16 TOTALIZADOR PARCIAL TRIBUTADO 13 R - TOTALIZADOR PARCIAL SANGRIA 13 R - TOTALIZADOR PARCIAL SUPRIMENTO 13 R #1 TOTALIZADOR PARCIAL NÃO SUJEITO AO ICMS 13 R #9 TOTALIZADOR PARCIAL NÃO SUJEITO AO ICMS 13 R - REGISTRO DE ITEM 8 R CRZ CONTADOR DE REDUÇÕES 4 I CRO CONTADOR DE REINÍCIO DE OPERAÇÃO 4 I CCF CONTADOR DE CUPOM FISCAL 6 I CRG CONTADOR GERAL DE RELATÓRIO GERENCIAL 6 I CFD CONTADOR DE FITA DETALHE EMITIDA 6 I NFC CONTADOR DE OPERAÇÃO NÃO FISCAL CANCELADO 4 I CFC CONTADOR DE CUPOM FISCAL CANCELADO 4 I GNF CONTADOR GERAL DE OPERAÇÃO NÃO FISCAL 6 I - CONTADOR DE SUBSTITUIÇÕES DE PROPRIETÁRIO 4 I COO CONTADOR DE ORDEM DE OPERAÇÃO 6 I CNS CONTADOR DE OPERAÇÕES NÃO SUJEITAS AO ICMS 6 I CDC CONTADOR DE COMPROVANTE DE CRÉDITO OU DÉBITO 4 R NCN CONTADOR DE COMPROVANTE DE CRÉDITO OU DÉBITO NÃO EMITIDO 4 R CCDC CONTADOR DE COMPROVANTE DE CRÉDITO OU DÉBITO CANCELADO 4 R 70\n71 Capítulo 15 Assinatura Digital A assinatura Digital utiliza um método que necessita de uma chave pública e privada, que são geradas pela impressora na fábrica ou por um técnico autorizado. Dados Assinados Os dados assinados pela impressora são os seguintes. Arquivos binário: Memória Fita Detalhe Memória Fiscal Software Básico A transferência destes dados é feita utilizando serviços fornecidos pela BEMAFI32.dll. Os dados firmados são salvos em arquivos respeitando o formato e extensão descritos nos capítulos subseqüentes. Extensão Os dados assinados pela impressora são salvos respeitando a seguinte extensão. 1. Memória Fita Detalhe 2. Memória Fiscal 3. Software Básico Formatação dos Arquivos Os dados assinados são armazenados respeitando a seguinte estrutura. Dados Arquivo Assinado (.mpk,.mfk,.txk) Informação de Assinatura STRING1 ASSINATURA STRING2 INFO Figura 1 Organização do Arquivo Assinado 71\n72 O arquivo está dividido em duas partes, a primeira contendo os dados solicitados e a segunda as informações da assinatura digital com um tamanho fixo de 1024 bytes. O campo da assinatura digital é dividido em quatro partes: STRING1: \_r\_n\_r\_nbematech - ARQUIVO ASSINADO\_r\_n\_r\_nDADOS DO ARQUIVO\_nFIRMA: Assinatura (RSA): Contém a assinatura digital criptografada com uma chave de 1024 bits (RSA). Esta informação é utilizada pelo decriptografador RSA para obter o MD5 gerado pela impressora correspondendo aos dados acima. STRING2: \_r\_nchave DE 1024 BITS\_r\_nOUTRAS INFORMACOES\_r\_n Outras Informações: Este campo está livre para inserir dados que sejam considerados relevantes, como por exemplo: número de série, data e hora da geração do arquivo, informações da solicitação dos dados, etc. Comandos De Assinatura ESC (1B) 3EH 47H 34H 30H Limpa MD5 ASSINATURA DIGITAL Carrega ao MD5 seu valor inicial ( ABCDEFFEDCBA ). Parâmetros sem parâmetros ACK ST1 ST2 Exemplo: CMD: B 3E Notas: Este comando deve ser chamado antes de uma requisição de algum dado que vá a ser assinado pela impressora, como por exemplo Leitura X, Leitura da Memória Fiscal pela porta de comunicação serial. ESC (1B) 3EH 47H 34H 31H Retorna MD5 ASSINATURA DIGITAL Retorna o valor do último MD5 calculado pela impressora. Parâmetros sem parâmetros ACK ST1 ST2 Exemplo CMD: B 3E RET: ABCDEFFEDCBA Este retorno é o valor inicial do MD5. Notas: Este comando pode ser chamado depois do envio de algum dado que foi assinado pela impressora, como por exemplo Leitura X, Leitura da Memória Fiscal. 72\n73 ESC (1B) 3EH 47H 34H 32H Retorna RSA ASSINATURA DIGITAL Retorna o valor da última Assinatura Digital calculada pela impressora. Parâmetros sem parâmetros ACK ST1 ST2 Exemplo CMD: B 3E RET: 82730AFC0CA39A80D9CC2F707B2A983CC7A3BD990BE623B9D9FBC7B30C 0DC199A2C3E8F749DC693C9AE4212F2398D4E A166114DC63CAA8 226D2B3F3151ACE601DF49893B4ECBED978FB1CE7FE98DF2EDDC32E741 Este é o retorno da criptografia RSA quando o MD5 possui seu valor inicial. Notas: Este comando deve ser chamado depois do envio de algum dado assinado pela impressora, como por exemplo Leitura X, Leitura da Memória Fiscal. ESC (1B) 3EH 47H 34H 33H Retorna Chave Pública ASSINATURA DIGITAL Retorna o valor da chave pública de criptografia RSA de 1024 Bits armazenada na memória fiscal da impressora. Parâmetros sem parâmetros ACK ST1 ST2 Exemplo CMD : B 3E RET: E8380AC BA36750A D4DB8B4ACB832B528866F85 7E6006BA352FE79FE617C24D399357DAF6C1D4A5E6AFF9705FDE A492FE F61 6ED BAB94D46F7D7A90B454C22247CF2E0F0192 BBBB1C9807FF4781 Notas: A chave pública é utilizada para a verificação da validade dos dados assinados pela impressora, como por exemplo Leitura X, Leitura da Memória Fiscal. 73\n74 ESC (1B) 3EH 47H 36H Imprime Certificado de Chave Pública ASSINATURA DIGITAL Imprime a chave pública RSA de 1024 Bits armazenada na memória fiscal da impressora. Parâmetros sem parâmetros ACK ST1 ST2 Exemplo CMD: B 3E D6 00 RET: Notas: a chave pública é utilizada para a verificação de validade dos dados assinados pela impressora, como por exemplo Leitura X, Leitura da Memória Fiscal. Imprimi-la significa certificar que há um par de chaves válidos armazenados na memória fiscal da impressora. 74\n75 Capítulo 16 Código De Barras Os códigos de barras são obtidos utilizando-se as seqüências de comandos GS abaixo. Observe que todos os parâmetros e números estão no formato decimal, exceto quando especificado em contrário. Comando Hexadecimal Decimal Descrição GS h n GS w n GS H n GS f n 1D 68 n n 1D 77 n n 1D 48 n n 1D 66 n n GS k 0 d1...d11 NUL 1D 6B 00 d1...d d1...d11 0 GS k d1...d11 1D 6B 41 0B d1...d d1...d11 GS k 1 d1...d6 NUL 1D 6B 01 d1...d d1...d6 0 GS k 66 6 d1...d6 1D 6B d1...d d1...d6 GS k 2 d1...d12 NUL 1D 6B 02 d1...d d1...d12 0 GS k d1...d12 1D 6B 43 0C d1...d d1...d12 GS k 3 d1...d7 NUL 1D 6B 03 d1...d d1...d7 0 GS k 68 7 d1...d7 1D 6B d1...d d1...d7 Determina a altura n do código de barras gerado; como cada unidade de altura corresponde a um ponto de 0,125 mm, a altura final é n x 0,125 mm, onde 1 < n < 255. O padrão é n=162. Determina a largura do código de barras, onde n=2 corresponde à largura normal, n=3 à largura dupla e n=4 à largura quádrupla. O padrão é n=3. Determina a posição das Informações Legíveis por Pessoas (HRI) no código de barras: n=0: Sem HRI n=1: No topo do código de barras (padrão) n=2: Embaixo do código de barras n=3: No topo e embaixo do código de barras Estabelece a fonte utilizada para imprimir as Informações Legíveis por Pessoas (HRI). O padrão é n=0. n=0 ou n=48 - normal n=1 ou n=49 - condensada Imprime um código de barras UPC-A, onde d1... d11 é uma seqüência de 11 bytes contendo os dados do código, com 48 < d < 57. Imprime um código de barras UPC-E, onde d1... d6 é uma seqüência de 6 bytes contendo os dados do código, com 48 < d < 57. Imprime um código de barras EAN-13, onde d1...d12 é uma seqüência de 12 bytes contendo os dados do código, com 48 < d < 57. Imprime um código de barras EAN-8, onde d1... d7 é uma 7 bytes contendo os dados do código, com 48 d\n76 GS k 4 d1...dn NUL 1D 6B 04 d1...dn d1...dn 0 GS k 69 n d1...dn 1D 6B 45 n d1...dn d1...dn GS k 5 d1...dn NUL 1D 6B 05 d1...dn d1...dn 0 GS k 70 n d1...dn 1D 6B 46 n d1...dn d1...dn GS k 6 d1...dn NUL 1D 6B 06 d1...dn d1...dn 0 GS k 71 n d1...dn 1D 6B 47 n d1...dn d1...dn GS k 72 n d1...dn 1D 6B 48 n d1...dn d1...dn GS k 73 n d1...dn 1D 6B 49 n d1...dn d1...dn Imprime um código de barras CÓDIGO 39, onde n indica o número de bytes que serão enviados e d1...dn é a seqüência de n bytes que contém os dados do código de barras. Os bytes que podem ser utilizados em d são 32, 36, 37, 43, 45 a 57 e 65 a 90 (letras maiúsculas) ou 97 a 122 (letras minúsculas). Não é possível combinar letras maiúsculas e minúsculas no mesmo código de barras. Imprime um código de barras ITF, onde n indica o número de bytes que serão enviados e d1...dn é a seqüência de n bytes que contém os dados do código de barras, com 48 < d < 57. Imprime um código de barras CODEBAR, onde n indica o número de bytes que serão enviados e d1...dn é a seqüência de n bytes que contém os dados do código de barras. Os bytes que podem ser utilizados em d são 36, 43, 45 a 57 e 65 a 68 (letras maiúsculas) ou 97 a 100 (letras minúsculas). Não é possível combinar letras maiúsculas e minúsculas no mesmo código de barras Imprime um código de barras CÓDIGO 93, onde n indica o número de bytes que serão enviados e d1...dn é a seqüência de n bytes que contém os dados do código de barras. Este código pode utilizar todos os bytes entre 0 e 127. Imprime um código de barras CÓDIGO 128, onde n indica o número de bytes que serão enviados e d1...dn é a seqüência de n bytes que contém os dados do código de barras. Este código pode utilizar todos os bytes entre 0 e 127. O subconjunto é automaticamente selecionado pela impressora, com base nos dados recebidos. 76\n77 GS k 128 n1 n2 n3 n4 n5 n6 d1...dn 1D 6B 80 n1 n2 n3 n4 n5 n6 d1...dn n1 n2 n3 n4 n5 n6 d1...dn GS k 21 d1...d9 NUL 1D 6B 15 d1...d d1...d9 0 GS k d1...d9 1D 6B 81 9 d1...dn d1...dn GS k 22 d1...dn NUL 1D 6B 16 d1...dn d1...dn 0 GS k 130 n d1...dn 1D 6B 82 n d1...dn n d1...dn GS k 23 d1...dn NUL 1D 6B 17 d1...dn d1...dn 0 GS k 131 n d1...dn 1D 6B 83 n d1...dn n d1...dn GS k 132 n1 n2 1D 6B 84 n1 n n1 n2 Imprime um código de barras PDF-417, onde: n1 é o nível de ECC (de 0 a 8) n2 é a altura de passo (de 1 a 8), onde altura = n2 x 0,125 mm n3 é a altura de passo (de 1 a 4), onde altura = n3 x 0,125 mm n4 é o número de palavras de código por linha; caso n4 seja 0, será adotado o máximo número permitido de colunas para a largura de passo informada. Caso o código de barras não se adapte à largura de impressão, a impressora irá ajustála automaticamente para a largura máxima permitida dentro do campo de linha. n5 e n6 indicam o número de bytes a serem codificados, onde o total = n5 + n6 x 256. d1...dn corresponde à seqüência efetiva de bytes que serão codificados. Imprime um código de barras ISBN, onde d1... d9 é uma seqüência de 9 bytes contendo os dados do código. Os bytes que podem ser usados em d são 45, 48 a 57 e 88. Observe que os hífens não estão computados entre os 9 bytes recebidos. Imprime um código de barras MSI, onde n indica o número de bytes que serão enviados e d1...dn é a seqüência de n bytes que contém os dados do código de barras. Os bytes que podem ser utilizados em d são 48 a 57. A limitação de tamanho para este código de barras é dada pelo campo de impressão, assim como pela largura de barras configurada. Imprime um código de barras PLESSEY, onde n indica o número de bytes que serão enviados e d1...dn é a seqüência de n bytes que contém os dados do código de barras. Os bytes que podem ser utilizados em d são 46 a 57 e 65 a 70 (letras maiúsculas) ou 97 a 102 (letras minúsculas). Não é possível combinar letras maiúsculas e minúsculas no mesmo código de barras. A limitação de tamanho para este código de barras é dada pelo campo de impressão, assim como pela largura de barras configurada. Programa a posição da margem esquerda do código de barras, fornecida por n1 + n2 x 256.\n===%(.1-%1%(..61*91..3...1##17>?1 17781<81@)(+81*93*9.*9$.4..@)1+.7:.*9*$.*$0.1-2%%@)+.1...1*97 778-1.*9<1.%'111.30.1-2%%\n1 !! "#$ %& '#( )"#$* +,-./0.1-2%%3.("30.#% '-..(1*$1343..4$5#1.0.1-2%%3 61.7...% 8*91..(1*$$.8.#3:..*95##%53$ (4.8*9%'..3;78*..8.30.1-2%%#.8*?1