Operação
Este artigo detalha o fluxo de trabalho essencial do InvoiCy Framework. A seguir, você encontrará informações sobre a forma correta de emissão de documentos e o gerenciamento do seu ciclo de vida, incluindo o armazenamento e tratamento dos arquivos pendentes e de logs, as configurações de impressão do DANFE-NFC-e e os requisitos de dados fiscais complementares exigidos pela legislação.
Emissão de Documentos
Para efetuar a emissão de documentos fiscais, envio de eventos e consultas, o Aplicativo Comercial deverá gerar a informação de entrada em formato XML, seguindo o layout de integração InvoiCy. A documentação que descreve o layout de integração InvoiCy está disponível aqui. Também é necessário que sejam configurados os parâmetros a seguir.
Diretório de Documentos
- Documentos Pendentes: É onde são armazenados os XMLs dos documentos emitidos em contingência e que estão pendentes de sincronização na Plataforma InvoiCy e de autorização na Secretaria da Fazenda (SEFAZ). O InvoiCy Framework salva os documentos pendentes no subdiretório “\DocsPendentes” da pasta de trabalho e tenta sincronizar os documentos periodicamente, em tempo definido através do parâmetro "TEMPO_VERIFICACAO". O subdiretório “\DocsPendentes” é criado automaticamente pelo InvoiCy Framework.
Opcionalmente, o Aplicativo Comercial poderá forçar o envio dos documentos pendentes através da função "InvoiCyFramework_EnviaDocumentosPendentes". Esta função não tem parâmetros de entrada e retornará um tipo Integer indicando a quantidade de documentos remanescentes.
O parâmetro "EMITIR_EM_CONTINGENCIA=1" impede o envio dos documentos que se encontram pendentes.
- Documentos com Retorno de Erro ao Sincronizar: O InvoiCy Framework move os documentos cuja sincronização e/ou autorização na SEFAZ tenha retornado algum código de rejeição para o subdiretório “\DocPendentes\Erro”. O subdiretório \Erro é criado automaticamente pelo Framework. A presença de arquivos nesta pasta deve ser verificada pelo Aplicativo Comercial para encaminhamento de ajuste manual.
Arquivo de Logs
O InvoiCy Framework gera arquivos de logs da sua operação, que são muito úteis para entender alguma inconsistência que possa ocorrer durante o processo de emissão de documentos.
Por padrão, os arquivos de log são gravados na pasta de trabalho. O nome dos arquivos de log serão definidos conforme o dia de execução, no formato invoicyfrmwrkAAAAMMDD.log. Serão mantidos os arquivos de logs dos últimos 30 dias, considerando a data atual. A cada novo dia de emissão, os arquivos mais antigos são excluídos.
Algumas características da gravação de logs podem ser modificadas através da configuração dos parâmetros LOG_REGISTRO, LOG_NIVEL, LOG_DIAS e LOG_DIRETORIO. Veja o detalhamento da função "InvoiCyFramework_Configura".
Dados do Responsável Técnico
Algumas UF exigem que seja informado o grupo com os dados do Responsável Técnico no XML da NFC-e.
Estes dados devem ser cadastrados na plataforma InvoiCy. O InvoiCy Framework realiza a consulta destes dados dentro da plataforma, e desta maneira preenche automaticamente estas informações quando necessário. Entenda mais sobre o responsável técnico e como cadastrar os dados no InvoiCy clicando aqui.
DANFE-NFC-e
- Configurações de Impressão: Existem três possibilidades para realizar a impressão do DANFE NFC-e, seja a emissão realizada online ou autorizado em contingência:
-
Framework monta e imprime o DANFE NFC-e:
Para que o InvoiCy Framework monte e realize a impressão do DANFE NFC-e, é necessário que seja configurado o parâmetro IMPRESSORA_CANAL, permitindo configurar uma impressora conectada em porta serial, em rede ou do spool de impressão do windows; -
Framework monta o DANFE NFC-e e o AC realiza a impressão:
Para isso, é necessário que seja criado manualmente o subdiretório “Recibos” na pasta de trabalho. Após o retorno bem sucedido de uma emissão, o Aplicativo Comercial deve obter o recibo a ser impresso neste subdiretório; -
AC monta e imprime o DANFE NFC-e:
Se isto ocorrer, os dados XML do documento autorizado - retornados na emissão na tagDocXMLBase64- deverão ser utilizados. Opcionalmente, também poderá usar os parâmetros "LAYOUT_IMPRESSAO_DANFENFCE" e "LAYOUT_IMPRESSAO_POS_QRCODE" para definir o formato e o posicionamento do QR Code.
Caso o Aplicativo Comercial tenha a necessidade de controlar individualmente a impressão do DANFE NFC-e, este poderá utilizar os parâmetros adicionais na chamada da função "InvoiCyFramework_EmiteDocumento".
- Geração e Impressão em somente uma via na Emissão Offline: Por default, o InvoiCy Framework imprime o DANFE NFC-e de emissões em contingência offline em duas vias (estabelecimento e consumidor).
No entanto, existe a opção de imprimir somente a via do consumidor, mediante consulta e configuração realizada na Plataforma InvoiCy. Essa alteração é feita em Início > Painel de controle > Configurações para a emissão de NFC-e > Imprimir uma via (DANFE) em contingência?, e o Framework obtém e aplica esse parâmetro ao realizar a emissão.
Para poder fazer uso da opção de guarda eletrônica do arquivo XML emitido em contingência, o emissor deverá, previamente, lavrar termo no livro Registro de Utilização de Documentos Fiscais e Termos de Ocorrência - modelo 6, ou formalizar declaração de opção segundo disciplina que vier a ser estabelecida por sua UF, assumindo total responsabilidade pela guarda do arquivo e declarando ter ciência que não poderá, posteriormente, alegar problemas técnicos para justificar a eventual perda desta informação eletrônica que está sob sua posse, assumindo as consequências legais porventura cabíveis.
Logomarca
A DANFE NFC-e pode ser gerada contendo o logotipo do emissor. Para isso, é necessário disponibilizar um arquivo bitmap do logotipo na pasta de trabalho. O arquivo deve ter o formato BMP e o nome “logotipo.bmp”. A imagem deve ser gerada em preto e branco (nas propriedades do arquivo deve constar intensidade de bits =1) e largura máxima de 567 pixels.
Se a imagem tiver até 210 x 210 pixels, o logotipo será impresso à esquerda e dados do estabelecimento serão impressos à direita da logo. Se a largura da imagem for entre 211 e 567 pixels, qualquer que seja a altura, o logotipo será impresso centralizado no topo e dados do estabelecimento serão impressos abaixo.
Valor Aproximado dos Tributos
O InvoiCy Framework possui o recurso opcional de obter a tabela de produtos x tributações, calcular e alimentar as tags infAdProd e vTotTrib do XML de emissão, e também gerar a mensagem indicativa do valor aproximado dos tributos na tag infCpl, além de imprimi-la. Este recurso é desabilitado por default, e pode ser ativado através do parâmetro LEI_DO_IMPOSTO_CALCULAR_VALORES, conforme segue:
-
Desabilitado (Parâmetro = 0): O Framework não realiza nenhuma tratativa referente à Lei do Imposto. Dessa forma, o AC é responsável por realizar o controle e o cálculo dos impostos aproximados, preenchimento da tag imposto\vTotTrib no grupo do produto, vTotTrib do grupo total\ICMSTot e também o texto a ser impresso no final do comprovante através da tag infCpl.
-
Habilitado (Parâmetro = 1, 2, 3, 4 ou 5): O Framework realiza as tratativas referentes à Lei do Imposto.
Se o parâmetro estiver habilitado, o InvoiCy Framework obtém a tabela de produtos e alíquotas através de consulta à plataforma InvoiCy. Caso prefira, o AC pode ser responsável por fornecer a tabela de produtos x tributações. Para isso, deve-se informar o nome do arquivo que contém a tabela de produtos através do parâmetro LEI_DO_IMPOSTO_ARQUIVO.
Detalhamento do Texto na Nota Fiscal (infAdProd e infCpl):
| Indicador | Tag "infAdProd" | Tag "infCpl" |
|---|---|---|
| 1 | Não insere o texto nesta tag | Texto adicionado: "Valor Aprox. dos tributos: R$xx,xx" |
| 2 | Insere o texto “Trib aprox R$: xx,xx Federal, yy,yy Estadual e zz,zz Municipal Fonte: nnnnnn” detalhando os tributos incidentes específicos de cada item. | Texto adicionado: "Valor Aprox. dos tributos: R$xx,xx" |
| 3 | Insere o texto “Trib aprox R$: xx,xx Federal, yy,yy Estadual e zz,zz Municipal Fonte: nnnnnn” detalhando os tributos incidentes específicos de cada item. | Texto adicionado: “Valor Aprox dos Tributos |
| 4 e 5 | Insere o texto “Trib aprox R$: xx,xx Federal, yy,yy Estadual e zz,zz Municipal Fonte: nnnnnn” detalhando os tributos incidentes específicos de cada item. | Texto adicionado: "Valor Aprox. dos tributos: R$ww,ww" |
Reimpressão de Documentos
Caso tenha o intuito de reimprimir um documento utilize a função "InvoiCyFramework_ImprimeDocumento". Deverá ser informado como parâmetro o XML do documento autorizado, que pode ser o conteúdo decodificado da tag DocXMLBase64 que a Aplicação Comercial recebeu na resposta da emissão, ou obtido através da consulta de documento.
Uso da Calculadora de Tributos da RTC
O uso da Calculadora de Tributos sobre o Consumo é opcional e não é parte integrante do InvoiCy Framework. Contudo, sua integração possibilita apurar a base de cálculo e o valor dos tributos devidos, além de permitir que a sua solução observe o correto preenchimento sugerido pela Receita Federal.
A calculadora é um software que quando em atividade, disponibiliza uma API, permitindo que o invoiCy Framework realize interações, obtendo informações sugeridas para o correto preenchimento do documento eletrônico em uso.
Para que o InvoiCy Framework faça uso da Calculadora de Tributos sobre o Consumo, basta configurar o parâmetro URL_API_CALCULADORA, informando a url onde sua instalação disponibiliza este recurso. A url padrão para consumir a API é "lhttp://localhost:8080/api*".
Por padrão, esta é a URL base que deverá ser informada ao configurar o parâmetro "URL_API_CALCULADORA". O endereço "localhost", é oficialmente adotado no manual de instruções, porém pode ser substituído por um IP em sua rede local, identificando o host onde a calculadora deverá ser consumida.
-
Disponibilização: A Calculadora de Tributos sobre o Consumo, está disponível para uso através do WSL, Docker ou sob o ambiente Java compatível. Para obter maiores detalhes sobre a calculadora e sua documentação, acesse aqui.
-
Instruções de Instalação: As instruções de instalação da Calculadora offline, estão disponíveis em: https://piloto-cbs.tributos.gov.br/servico/calculadora-consumo/calculadora/calculadora-offline/calculadora-offline-instrucoes
Ambiente Java, informações adicionais:
Para que o InvoiCy Framework utilize a calculadora, diretamente através do componente Java instalado em seu ambiente, siga os passos abaixo:
1. Acesse o repositório do InvoiCy Framework no GitHub e faça o download do arquivo “IniciarCalculadoraDeTributosSobreConsumo.jar”; Salve o arquivo na pasta de trabalho do InvoiCy Framework.
2. Acesse a página de download da calculadora, clicando aqui e faça o download do arquivo “Java (JAR)”;
3. Faça a descompactação e copie os arquivos extraídos para a pasta de trabalho do Framework. É necessário definir o parâmetro “URL_API_CALCULADORA” para que o serviço da API da calculadora de tributos off-line, seja automaticamente inicializado pelo Framework.
Requisitos do XML de emissão
Ao montar o XML para emissão, é preciso que seja informado o grupo IBSCBS contendo os campos CST e cClassTrib, como no exemplo abaixo:
<IBSCBS>
<CST>000</CST>
<cClassTrib>000001</cClassTrib>
</IBSCBS>
Outros campos de preenchimento obrigatório, de parâmetros da emissão e dos itens, também são utilizados, tais como "cUF", "cMunFG", "dhEmi", "NCM", "vProd", "qCom" e "uCom".
O InvoiCy Framework irá interagir com a calculadora, utilizando os valores destes campos para obter as informações e fará a montagem dos demais grupos e campos previstos nas Notas Técnicas que especificam os requisitos da RTC, tanto nos itens quanto no grupo de totais.
O preenchimento de informações referentes aos tributos anteriores à RTC - ICMS, IPI, PIS, COFINS, etc - são de responsabilidade do Aplicativo Comercial/ERP, e devem ser preenchidos enquanto a legislação anterior permanecer em vigor (fase de transição).
Novos Parâmetros de Configuração
Para habilitar a comunicação com a API da calculadora, você precisará utilizar as funções padrão do Framework (como InvoiCyFramework_Configura) para definir um novo parâmetro de ambiente.
-
URL_API_CALCULADORA: Este parâmetro serve para configurar a URL onde a sua instalação da calculadora disponibiliza o recurso. É estritamente necessário definir este parâmetro para que o serviço da API da calculadora de tributos off-line seja automaticamente inicializado pelo InvoiCy Framework.
-
Atenção para Android / Rede local: O endereço localhost é oficialmente adotado para uso local. Porém, caso você utilize o ambiente Android ou opere em rede, é necessário substituir o termo localhost na URL pelo IP real do computador (host) onde a Calculadora de Tributos Offline estiver em execução.
