Integração do sistema de PDV com o MFE (Módulo Fiscal Eletrônico) – Equipamento que atende à especificação nacional do SAT (CF-e-SAT), prevista no ATO COTEPE 33/2011, com especificações adicionais do Estado do Ceará, responsável pela emissão do Cupom Fiscal Eletrônico – CF-e. A função desse equipamento é substituir o equipamento SAT já utilizado no estado de São Paulo.
Comunicação:
Para realizar a comunicação do equipamento MFE com a Secretaria da Fazenda do Estado do Ceará - SEFAZ-CE, foi desenvolvido um aplicativo chamado Integrador Fiscal, que é uma plataforma de comunicação disponibilizada pela SEFAZ-CE para a integração de AC/PDV dos estabelecimentos contribuintes do ICMS do estado. O Integrador é responsável por realizar o envio das solicitações de pagamento e dados das vendas para o MFE e para a SEFAZ. As requisições são passadas para o Integrador através do repositório de entrada do Integrador, onde o MID-e Client grava um arquivo XML que é consumido pelo Integrador. Após processar as requisições o Integrador gera um XML de retorno na sua pasta de saída, que é consumido e apagado pelo MID-e Client, que devolve os dados do retorno ao PDV. A comunicação da AC/PDV com o Integrador Fiscal é realizada através do MID-e Client, cabendo ao AC/PDV enviar as requisições via API no formato JSON.
Antes de realizar a emissão do CF-e, será obrigatório enviar a SEFAZ os dados do Recebimento da venda quando este for realizado via TEF ou POS, para isso foi criado o VFP-e ou sistema de verificação de pagamentos eletrônico. O sistema VFP-e visa cruzar as informações do recebimento com a nota emitida, garantindo que todo pagamento recebido via cartão seja vinculado a um documento fiscal. Caso os dados do pagamento não sejam enviados para o verificador a emissão do CF-e não poderá ser realizada.
Instalação:
Para maiores informações, documentos, manuais e instaladores referentes ao MFE, favor acessar os seguintes links para download
Estrutura do Banco de Dados:
Para o controle dos pagamentos via TEF ou POS enviados a SEFAZ-CE, foi necessário a criação de tabelas para gravar os dados obrigatórios do pagamento. Foram adicionadas no Banco de Dados do sistema as seguintes tabelas: TAB_PAGAMENTO_MFE_ABERTO (armazena os dados dos pagamentos a cartão TEF ou POS enquanto os mesmos ainda estão abertos), TAB_PAGAMENTO_MFE (armazena os dados dos pagamentos), TAB_CADASTRO_POS (Armazena os dados dos terminais de POS, cadastrados no Sistema de Gestão). Além das tabelas adicionadas foi alterado a procedure SP_GRAVA_CUPOM_FISCAL para gravar os dados da TAB_PAGAMENTO_MFE_ABERTO para a TAB_PAGAMENTO_MFE.
| CREATE TABLE TAB_PAGAMENTO_MFE_ABERTO (  | 
DDL TAB_PAGAMENTO_MFE_ABERTO
| CREATE TABLE TAB_PAGAMENTO_MFE (  | 
DDL TAB_PAGAMENTO_MFE
| CREATE TABLE TAB_CADASTRO_POS (  | 
DDL TAB_CADASTRO_POS
| CREATE OR ALTER PROCEDURE SP_GRAVA_CUPOM_FISCAL ( SEQTURNO INTEGER,  | CAST(:VALTOTALCUPOM AS VARCHAR(10)) | ' TOTAL ITENS: ' | CAST(:VALTOTALITENS AS VARCHAR(10)) | 
 | CAST(:VALTOTALPAGTOS AS VARCHAR(10));*  | 
|---|
| SELECT SEQ_CHEQUE, SEQ_CUPOM, DTA_EMISSAO, NUM_CHEQUE, VAL_CHEQUE  | 
| DES_FROTA, NUM_CARTAO, NOM_MOTORISTA,  | 
| QTD_CASAS_QUANTIDADE, QTD_CASAS_VAL_UNITARIO, SEQ_MOVIMENTO_ENCERRANTE, VAL_DESCONTO_PROMOCAO, SEQ_NCM,  | 
| WHERE NOM_HOST = :NOMHOST  | 
| NUM_AUTORIZACAO_POS,  | 
| DES_BANDEIRA, DES_ADQUIRENTE, IND_TIPO_PAGTO, COD_POS)  | 
END
DDL SP_GRAVA_CUPOM_FISCAL
Configuração:
Para utilização do MFE será necessário configurar no Configurador dos sistemas os seguintes parâmetros na aba MIDe:
- Produtos MIDe (parâmetro 16001) >> opção "4 – MFE";
Figura 1: Produtos MIDe (parâmetro 16001)
- Chave Acesso Validador (parâmetro 16018) >> copiar e colar a Chave Acesso Validador disponível nas configurações do MID-e Client >> Emissores.
 de 19
Figura 3: Chave Acesso Validador
Chave Acesso Validador (parâmetro 16018)
Utilização do sistema:
O fluxo de venda não sofreu alterações devido as implementações da integração do sistema com o MFE, sendo assim, a venda de produtos e/ou serviços continuam da mesma forma. Os efeitos das implementações ocorrem no fechamento da venda, no fluxo de pagamentos da conta.
Na escolha da forma de pagamento, independente de qual seja o tipo da forma de pagamento, será realizada uma requisição de consulta do status do Integrador, caso esteja inativo ou sem comunicação, o MID-e Client retornará a seguinte mensagem: "MC009 – Não foi possível se comunicar com o integrador", devendo o PDV interromper o processo até que a comunicação com o Integrador se restabeleça. Estando o Integrador ativo o processo segue o fluxo normalmente.
Observação: Somente pagamentos a cartão (TEF ou POS) devem realizar o envio do pagamento, as outras formas de pagamento deverão ser enviadas juntamente com os dados de encerramento da venda.
O PDV deverá informar ao Integrador os dados de cada pagamento realizado via CARTÃO, esse processo deverá ser realizado antes do operador realizar a transação, utilizando a API "IniciarVenda". Caso a forma de pagamento escolhida seja do tipo cartão ('CC', 'CD', 'VO' ou 'PL'), os dados dos pagamentos serão enviados ao Integrador, que irá registrar o pagamento e devolverá o id do pagamento (IdPagamento), que vinculará o CF-e ao pagamento realizado. Na requisição da API "IniciarVenda", caso o Integrador esteja inativo ou sem comunicação, o
MID-e Client retornará a seguinte mensagem: "MC009 – Não foi possível se comunicar com o integrador", devendo o PDV interromper o processo até que a comunicação com o Integrador se restabeleça.
A próxima etapa será a realização da transação TEF ou POS, devendo o PDV seguir as seguintes regras:
• Pagamento via POS: Será necessário enviar os dados do pagamento POS para validação através da API "ValidarPagamento", para que o MID-e Client possa validar os dados entre o pagamento registrado junto a SEFAZ e os dados de pagamento registrados pelo PDV. Caso o Integrador esteja off-line por falta de internet ou problema de comunicação com a SEFAZ, será retornado o erro "MC010 – O integrador não conseguiu se comunicar com a SEFAZ", cabendo ao PDV apresentar uma tela para que as informações do pagamento sejam inseridas manualmente, permitindo assim o PDV realizar o encerramento da venda.
Mensagem para realizar a transação POS
Mensagem quando retorno MC010 – O Integrador não conseguiu se comunicar com a SEFAZ
Tela para que as informações do pagamento sejam inseridas manualmente 
• Pagamentos TEF: Não é necessário chamar a API "ValidarPagamento", nessa modalidade os dados do pagamento serão enviados juntamente com os dados de encerramento da venda.
Após a realização dos pagamentos, o sistema deverá enviar o encerramento da venda, utilizando o mesmo método para operações com SAT em São Paulo, incluindo apenas as informações dos pagamentos realizados via TEF ou POS.
O MID-e cliente irá vincular os dados dos pagamentos a venda realizada e enviará essa venda ao equipamento MFE para autorização da venda, retornando os dados do CF-e autorizado ou o erro apresentado em caso de rejeição ou falha no equipamento.
Observação: Caso ocorra o retorno MC010 durante alguma etapa do processo de venda, o PDV deverá obter o IDPagamento, IDFila e retorno da resposta fiscal através da API "/Integrador/GetRetornoConciliacaoByChaveNota?". Essas informações deverão ser gravadas no banco do PDV, conforme as exigências da SEFAZ CE. Essa conciliação é realizada automaticamente a cada 10 minutos.
Exemplos Json Web API:
{"ChaveAcessoValidador":"25CFE38D-3B92-46C0-91CA CFF751A82D3D","ChaveRequisicao":"54517628-0116-0102-0580- 019100000000","Estabelecimento":10,"SerialPos":"999999999104","Cnpj":"54517628001160"," IcmsBase":5.9,"ValorTotalVenda":5.9,"HabilitarMultiplosPagamentos":"true","HabilitarCon







