O blog da AWS

Sistemas de notas fiscais eletrônicas na AWS

Cristian Romero, Arquiteto de Soluções para o setor público na AWS

 

A Amazon Web Services já trabalhou com mais de 6.500 agências governamentais em todo o mundo, incluindo organizações responsáveis por receber, validar, armazenar e consolidar análises de notas fiscais eletrônicas, geradas por grandes, médias e pequenas empresas.

Executar esses tipos de análises na nuvem reduz os custos, simplifica os processos administrativos, aumenta o controle e a transparência do governo e aumenta a segurança no intercâmbio de informações confidenciais de pessoas e empresas.

Geralmente, os processos de Notas Fiscais Eletrônicas exigem três camadas principais de tecnologia:

Recebimento: O recebimento pode ser dimensionado de dezenas a centenas de notas emitidas por uma pequena empresa, para notas geradas em massa (milhares ou milhões) por uma grande empresa. Cada pessoa jurídica deve cumprir os requisitos de envio do governo, mas pode optar por fazê-lo em tempo real ou em determinados horários específicos do dia, conforme a regulamentação. As áreas de tecnologia dos governos devem estar preparadas para apoiar a modalidade escolhida por cada empresa de forma flexível.

Processamento: envolve a validação de notas fiscais eletrônicas inseridas, aplicação de regras em campos específicos, classificação das informações, e em muitos casos, aplicação de criptografia, dada a sensibilidade dos dados, usando tecnologias de gerenciamento de chaves, como o HSM (Módulo de Segurança de Hardware ). Neste ponto existem diferentes estratégias para resolver o processamento que pode ir de acordo com a recepção, ou seja, é processado em tempo real, ou com um sistema de filas de mensagens que é processado de acordo com a capacidade computacional disponível.

Armazenamento e análise: a capacidade de resumir dados, consultar empresas específicas para rastrear, gerar métricas globais de transparência e fornecer serviços de pesquisa para essas informações a outras aplicações ou agências que consolidam a arrecadação de impostos. Idealmente, um auditor fiscal deve ser capaz de ver em tempo real, ou pelo menos com um intervalo de tempo definido, as métricas do volume de negócios de uma empresa, assim como o ministro exige uma visibilidade diária sobre o progresso do comércio no país.

Para a Amazon Web Services, a segurança é a prioridade número um, portanto, recomenda-se que os clientes usem as respectivas ferramentas de segurança em cada etapa para atender aos mais altos padrões de criptografia, prevenção de ataques, transferência de dados e tratamento de informações pessoais (Informações Pessoais Identificáveis PII). A segurança aplica-se às três camadas mencionadas acima, de interfaces de entrada (entrada de dados) a interfaces de saída (acesso de terceiros) a outros aplicativos ou usuários.

Recebendo NF Eletrônica

 

No momento desta publicação, a Amazon Web Services tem mais de 175 serviços disponíveis para serem usados como blocos de construção em várias soluções que se ajustam a cada carga de trabalho. Este guia procura dar orientações gerais, mas pode ser modificado de acordo com as necessidades de cada instituição.

Receber notas fiscais eletrônicas ocorre de duas maneiras: através de APIs autenticadas por token para controlar o acesso e manualmente através de um portal. Geralmente, a segunda opção é oferecida a pequenas empresas ou autônomos que não possuem um sistema de emissão de notas fiscais que se integra com a API oferecida pelo governo.

Os elementos mais importantes para se ter em mente são:

O recebimento através de um Portal Web deve ser dimensionado com base no tráfego esperado. O exemplo mostra um portal provido pelo AWS CloudFront, o serviço de CDN da AWS, que faz uso de cache reduzindo a latência e mitigando ataques de DDoS. Esse componente se integra ao serviço AWS Web Application Firewall para evitar ataques como SQL Injection ou Cross-Site Scripting. Mais informações sobre serviços de web sites na AWS em: https://aws.amazon.com/pt/websites/.

O web site estático, armazenado no Amazon Simple Storage Service (S3), usa o mesmo API de gateway que receberá solicitações autenticadas via token. Para a geração desses tokens de autenticação, é recomendável usar o AWS Cognito, no entanto, é possível integrar com outras soluções de autenticação implementadas em containers ou instâncias de computação. Os tokens podem ser gerados no momento do login (portal web) ou entregues a cada uma das empresas que emitem notas fiscais eletrônicas para integrar diretamente os seus sistemas de faturamento.

Em alguns casos, empresas de certificação são usadas para atuar como intermediários entre as pessoas e as instituições governamentais. Neste caso, eles teriam os tokens de acesso aos serviços de envio de notas fiscais eletrônicas, podendo limitar ou até desativar o acesso através do Portal Web. Tudo depende da estratégia adotada pelos governos.

O AWS API Gateway permite rastrear o número de chamadas de API, latência e taxas de erro usando o serviço de monitoração AWS Cloudwatch. O uso do serviço de API, não só garante um acesso seguro, autenticado e criptografado, mas também possibilita uma rápida depuração, se necessário.

Algumas instituições optam por ter diferentes interfaces de coleta, dependendo da pessoa jurídica que emite as notas fiscais eletrônicas. Isso significa que eles geram vários APIs de Gateways para fornecer interfaces exclusivas em função do volume gerado por uma única empresa, fornecendo acesso exclusivo a este ou a um conglomerado de empresas e outros emissores em massa. Após o recebimento, os dados são enviados para a mesma fila de mensagens para processamento. Sugere-se que se avalie os limites de serviços da AWS e solicite um aumento, se necessário.

Finalmente, há uma fila de mensagens garantindo que cada nota fiscal eletrônica seja processada. O Amazon Kinesis Data Streams captura e ingere informações em tempo real geradas a partir dos gateways de entrada, permitindo assim que elas sejam armazenadas por até 7 dias, enquanto um recurso de computação as processa (os consumidores serão detalhados nas seções a seguir). O serviço gerenciado da AWS ajuda a reduzir os pontos de falha e escala conforme a necessidade. É possível implementar uma arquitetura híbrida, onde a Nuvem AWS recebe notas fiscais eletrônicas e em seguida são processadas em uma infraestrutura on-premise, sem causar sobrecarga ou indisponibilidade dos serviços. Todos os dados injetados no Kinesis Data Streams podem ser criptografados por chaves geradas na AWS ou por chaves importadas por meio da integração com o AWS Key Management Service.

Desde o Cloudfront ao Kinesis Data Streams, você tem recursos de monitoração do AWS Cloudwatch. A granularidade pode ser de até um minuto e gerar alarmes que enviam notificações via SMS, e-mail ou integrações com serviços como Slack ou Amazon Chime que permitem monitoramento proativo e quase em tempo real para corrigir possíveis gargalos ou falhas em geral.

Processando

 

 

Os arquivos de notas fiscais eletrônicas podem ser processados em tempo real ou em massa. Esses arquivos geralmente usam formatos em xml ou json, sendo recomendado armazenar os originais para auditorias subsequentes. Para isso, você pode usar o Amazon Kinesis Data Firehose, um serviço especializado em recepção de informações que garante a entrega a um bucket no Amazon S3 para fins de backup. Este serviço possui a opção de criptografia automática para arquivos, garantindo dessa forma que o bucket atenda os requisitos de armazenamento da instituição.

Caso você tenha optado por uma arquitetura híbrida e o processamento de dados esteja sendo feito fora da AWS no on-premise, você pode integrar o Kinesis Data Streams Consumer, que leva os itens presentes na fila de mensagens e segue um workflow específico.

Este blogpost propõe usar os serviços da AWS aproveitando os benefícios dos serviços gerenciados, como economia de custo, desempenho, inovação e remoção de atividades operacionais. Os elementos mais importantes a se ter em mente são:

A ideia de separar fluxos e usar filas diferentes para processamento e armazenamento permite reduzir as linhas de código e delegar essas funções a serviços especializados. O Kinesis Data Streams tratará das mensagens que precisam ser processadas enquanto o Kinesis Data Firehose cuidará do envio das informações para um bucket do S3, que armazenará os arquivos xml ou json originais enviados pela organização responsável pela geração da nota fiscal eletrônica. Esta prática permitirá, auditorias subsequentes ou ajustes no processo, através da consulta ao arquivo original.

Paralelamente ao armazenamento do arquivo original, o processamento pode ter diferentes abordagens em relação as exigências legais e regulatórias. O exemplo usa uma função que valida os campos enviados e determina que eles estão dentro de intervalos permitidos ou com variáveis pré-estabelecidas. Esta função pode usar outros serviços conforme a necessidade, por exemplo: integração com bancos de dados relacionais ou não relacionais, documentos, etc., ou até ativar algoritmos de Machine Learning que poderiam ser treinados para detectar possíveis anomalias em dados em tempo real. Isso é possível integrando o AWS Lambda, um serviço que permite executar código sem a necessidade de provisionar ou gerenciar servidores.

Dependendo das necessidades da (s) entidade (s) de controle propriamente dita (s), a transformação dos dados recebidos pode ser necessária. Essas alterações podem exigir funções ou execuções de código que excedam os limites de tempo de uma função no AWS Lambda, sugerindo o uso do ECS Fargate, implantando containers para a execução da tarefa. Muitas vezes, as instituições já têm a imagem de docker desenvolvida, para que possam usá-la sem orquestradores de containers, delegando essa tarefa à AWS.

Finalmente, um serviço deve cuidar do armazenamento. Recomenda-se usar uma função separada para esta execução atômica, enviando os dados correspondentes para várias fontes de informação, dependendo da estrutura de cada uma. Por exemplo, você pode enviar para uma fonte de dados não estruturada que permita consultar as transações geradas nos últimos seis meses, podendo também usar uma fonte de dados estruturada para consulta histórica. Também é importante armazenar com segurança arquivos transformados das notas fiscais eletrônicas.

A criptografia é recomendada para todo o processo, tanto na transferência quanto no armazenamento de dados. Em alguns casos, a regulamentação requer certos parâmetros especializados nesta criptografia e manipulação de chaves, o que torna necessário o uso de um HSM. A AWS pode prover o CloudHSM ou o AWS Key Management Service (KMS) para suportar a criptografia quando necessário, dependendo dos requisitos de segurança de cada instituição. O exemplo neste blogpost integra o serviço na função de persistência, onde ele faz a requisição, e os dados criptografados são retornados.

Sua equipe já pode ter imagens docker para a camada de processamento. Aproveite ao máximo os recursos existentes usando o ECS Fargate e ajuste o AWS Lambda conforme a necessidade. É importante determinar o dimensionamento correto entre o número de execuções e os requisitos para otimizar o desempenho e os custos, escolhendo dessa forma o melhor serviço para sua carga de trabalho.

Armazenamento e análise

 

 

Depois de concluir a ingestão e o processamento de dados, estes serão armazenados em diferentes repositórios que servirão como fontes de dados para análise. Os elementos mais importantes da arquitetura são:

O armazenamento dos metadados das notas fiscais eletrônicas pode ser feito em um banco de dados NoSQL com um campo apontando para a URL do arquivo armazenado em um bucket S3. Para isso, o AWS DynamoDB permite armazenar essas informações em uma única tabela, otimizando os índices gerais e locais para acelerar consultas subsequentes. Dado o tipo de informação que vem na nota fiscal eletrônica, é comum que o identificador da pessoa jurídica seja usado em conjunto com a data da transação para criar um índice local. No entanto, cada cliente poderá ajustar de acordo com a otimização necessária.

Após o armazenamento e a classificação, há dois tipos de usuários dentro dos órgãos de fiscalização:

Geralmente, os auditores devem ter acesso às informações em tempo quase real e fazer consultas oportunas sobre pessoas jurídicas em segundos. Portanto, um Data Lake oferece um valor ao permitir que você armazene dados estruturados e não estruturados no Amazon S3, combinando várias fontes originadas na nuvem ou no on-premise, enriquecendo os dados da nota fiscal eletrônica. O AWS Lake Formation é uma das ferramentas que permite esse tipo de implantação para que os dados sejam consumidos pelo Athena, tendo também o papel de orquestrar, implantar e governar o ciclo de vida dos data lakes. A interface permitirá que os auditores realizem consultas usando o padrão SQL para obter as informações necessárias, ou até mesmo ter um repositório de consultas predefinidas que aceleram suas investigações.

Outros usuários no nível interno dos órgãos fiscalizadores precisam de dados resumidos, além dos detalhes das transações. Suas consultas variam pouco e buscam aplicar filtros nas pesquisas. Para atender às suas necessidades, você pode habilitar o Amazon Quicksight, fazendo uso da solução de BI para criar dashboards. Alguns deles podem até ter permissão para criar novos relatórios de acordo com suas necessidades e acessar as fontes de informação integradas no Data Lake.

Se você tiver experiência com outra ferramenta de relatórios e dashboards, poderá aproveitar esse conhecimento integrando ferramentas de BI de terceiros usando as mesmas fontes de dados. Essas ferramentas estão disponíveis no AWS Marketplace .

Habilitar a criptografia nesses serviços é recomendado para manter os dados seguros no repouso e em trânsito. Para ferramentas de consulta, você deve definir as roles apropriadas (AWS Identity and Access Management) para que cada uma tenha as permissões limitadas aos dados que cada usuário necessita. No Quicksight, você pode até segmentar as fontes às quais o usuário final tem acesso para consulta. É necessário pensar sobre a quantidade mínima de permissões e informações para o trabalho desse usuário e limitá-los a esse valor.

Clientes com Soluções de Notas Fiscais Eletrônica

 

 

Entre as mais de 6500 agências, a AWS trabalhou com o Departamento de Administração Tributária da Guatemala, que se dedica a modernizar a administração tributária, criar eficiências e minimizar custos. Mauricio Romero, Consultor de Sistemas de Informação e TI da SAT Guatemala, falou sobre a importância de encontrar o provedor de serviços de nuvem certo, a importância dos microsserviços e como eles se concentram na contratação de especialistas e treinamento para o futuro.

 


Sobre o autor

 

Cristian David Romero é arquiteto de soluções da Amazon Web Services para o setor público. Cristian tem ajudado várias instituições do setor público e privado na adoção de tecnologia de nuvem nos últimos 8 anos e tem realizado com sucesso projetos que marcam o impacto social em nível de cidadãos e estudantes em toda a América Latina.

 

 

 

Revisores técnicos

 

Gabriel Paredes é arquiteto de soluções da Amazon Web Services para o setor público. Gabriel ajuda várias instituições educacionais na América Latina a adotarem tecnologias e melhorarem seus serviços aos estudantes.

 

 

 

 

Manuel Cuellar é arquiteto de soluções da Amazon Web Services para o setor público. Manuel trabalha com organizações governamentais, organizações não governamentais e instituições educacionais no México e no Caribe para facilitar a inovação e a adoção tecnológica.

 

 

 

 

Karlos Correia é arquiteto de soluções da Amazon Web Services para o setor público. Karlos atua especificamente no segmento de Governo Federal e apoia os projetos de transformação da administração pública.