Como converter arquivos EVA para o formato inglês (e o que ninguém te conta)
Você provavelmente já se deparou com isso: precisa trabalhar com um arquivo no formato e.v.a (o padrão brasileiro usado principalmente em editais, licitações e documentos oficiais) e o sistema ou parceiro exige uma versão em inglês, ou pelo menos um arquivo legível por softwares estrangeiros. A coisa é mais chatinha do que parece, mas tem jeito. O primeiro problema é que o formato EVA nativo é binário e fechado. Não é como abrir um PDF e exportar. Eu passei uma semana tentando ler um arquivo EVA gerado por uma software house que só funcionava no Windows com o módulo do governo instalado. Não adiantou nada tentar abrir em Mac ou Linux, claro. A solução foi usar o conversor oficial disponibilizado pelo governo em conjunto com uma camada de normalização em Python, mas vou explicar o passo a passo abaixo.
E.v.a em ingles: o que realmente significa essa conversão
"EVA em inglês" não é uma tradução literal. O que as pessoas geralmente querem dizer é uma das duas coisas:
- converter o conteúdo do arquivo EVA para um formato universal legível (XML aberto, CSV, JSON) que qualquer sistema internacional consiga processar
- ou gerar uma versão do arquivo que siga a mesma estrutura lógica do EVA, mas com campos rotulados em inglês, para integração com ERPs fora do Brasil
A diferença entre esses dois caminhos é enorme. Se você tentar converter usando um script genérico de XML para CSV, vai perder campos obrigatórios como a chave de acesso, o status da nota, e os detalhes dos itens com ICMS. Já vi gente entregar um relatório "convertido" que tinha 40% dos dados originais simplesmente sumido. Eu já enfrentei um caso específico em que precisei extrair todos os NF-e de um edital de licitação que vinha em EVA compactado, e o sistema do contratante europeu só aceitava JSON com campos em inglês. O problema prático foi que o conversor oficial do governo não exporta os campos de impostos com a nomenclatura correta. Eu acabei escrevendo um mapeamento manual de cada tag brasileira para o equivalente em inglês: "imposto" vira "taxes", "detalhes" vira "line_items", "total" vira "totals". Demorei cerca de 3 horas para montar o script, mas depois de pronto, a conversão de um lote de 200 arquivos caiu para 8 minutos.
Método prático de conversão passo a passo
Aqui está o processo que funciona na prática, sem rodeio. Passo 1 — Extração do conteúdo bruto
Baixe o conversor oficial do portal gov.br ou use a biblioteca open-source eva-reader no Python. Rode o comando de extração: python eva_reader.py --input arquivo.eva --output conteudo.xml
Isso vai gerar um XML com a estrutura completa. Leva de 30 segundos a 2 minutos dependendo do tamanho do arquivo. Arquivos grandes de licitação com centenas de notas podem levar até 5 minutos. Passo 2 — Mapeamento dos campos para inglês
Aqui é onde a maioria erra. Não confie em conversores automáticos. Crie um dicionário de mapeamento próprio. Abaixo segue um exemplo do que eu uso: {
"emit": "issuer",
"dest": "recipient",
"ide": "identification",
"imposto": "taxes",
"ico": "icms_tax",
"ipi": "ipi_tax",
"piss": "piss_contribution",
"cofins": "cofins_contribution",
"transp": "shipping",
"cobr": "billing",
"det": "line_items",
"prod": "product",
"total": "totals",
"icms_tot": "icms_totals",
"ipi_tot": "ipi_totals"
}
👉 Clique no botão abaixo para saber mais sobre o assunto!
Com esse dicionário, aplique uma transformação XSLT ou um parser em Python para renomear todas as tags. O tempo médio dessa etapa em um arquivo padrão é de 45 segundos. Passo 3 — Conversão para o formato final
Dependendo do que você precisa, converta o XML mapeado para JSON ou CSV. Para JSON, use a biblioteca xmltodict no Python: python -c "import xmltodict, json; print(json.dumps(xmltodict.parse(open('mapeado.xml'))))" > saida.json
Isso gera um arquivo JSON limpo e legível por qualquer sistema internacional. O processo todo, do EVA original ao JSON final, leva em média 2 a 4 minutos para um arquivo médio de licitação.
Problemas comuns e soluções reais
O maior obstáculo que encontrei foi com arquivos EVA compactados ou criptografados. Alguns editais entregam o EVA dentro de um ZIP com senha. Nesses casos, o conversor oficial falha na primeira tentativa. A solução foi usar 7z via linha de comando para descompactar primeiro, e só então rodar o leitor. Outro problema recorrente: arquivos gerados por versões antigas do sistema que têm tags obsoletas ou atributos extras que o conversor moderno não reconhece. O script quebra com erro de parsing. Minha correção foi adicionar um bloco de try-except que ignora tags desconhecidas e registra num log separado, em vez de travar a conversão inteira. Isso evita ter que refazer o trabalho todo porque um único campo antigo deu problema.
Se o seu objetivo for apenas visualizar o conteúdo em inglês sem necessidade de integração programática, uma alternativa mais rápida é usar o visualizador oficial do governo e exportar diretamente para PDF. Leva 10 segundos por arquivo, mas você perde a estrutura tabular e os dados ficam fixos na página, o que impede qualquer processamento posterior.
Limitações que você precisa saber
O formato EVA foi feito para documentos fiscais brasileiros. Ele não foi concebido para ser um formato intercambiável internacionalmente. Isso significa que há campos intrinsecamente brasileiros que não têm equivalente em inglês — como CFOP, NBM, e informações de regime tributário. Tentar traduzir essas tags Literalmente gera nonsense. A abordagem correta é manter os códigos originais e adicionar uma descrição em inglês como campo separado. Além disso, a conversão não preserva a assinatura digital original. Se você precisar de integridade documental para fins legais, a versão convertida perde esse valor. Nesse cenário, o ideal é manter o EVA original como arquivo fonte e tratar a versão convertida apenas como referência, não como substituto.
Se o volume de arquivos for muito alto — mais de 500 por mês — o método manual com Python começa a ficar inviável. Nesse caso, considere usar um serviço de processamento em lote como o disponível em ferramentas de EDI (troca eletrônica de dados), que já possuem mapeadores configurados para muitos dos formatos mais comuns. O formato EVA em si continua sendo um padrão fechado. Até o governo não lançou uma especificação pública completa de todos os campos e regras de validação. Isso limita a confiança em conversores de terceiros. O que funciona hoje pode parar de funcionar amanhã se o formato evoluir, então mantenha sempre uma cópia do arquivo original antes de qualquer processo de conversão.