Engenharia de Dados

Fiscal Document Consolidation Pipeline

Pipeline mensal incremental que resolve a empresa dona de cada documento fiscal por substring match do identificador tributário dentro do conteúdo bruto do XML, em vez de confiar numa tag de referência explícita, uma escolha de resiliência que tolera marcação inconsistente na origem. O job baixa o par XML+PDF de cada documento via API do provedor de documentos fiscais, decodifica payload em base64 quando necessário, e filtra estritamente pela data de emissão real extraída do próprio XML, não pela data de criação do registro na API.

python postgresql

Estudo de caso

Problema

O documento fiscal chega da API já em XML (às vezes envelopado em base64), mas o payload não traz de forma confiável uma referência explícita e normalizada de qual empresa do grupo é a dona daquele documento; a marcação de contraparte na origem é inconsistente entre emissores. Sem um jeito robusto de resolver o dono, a consolidação por empresa vira um processo manual de triagem, arquivo por arquivo, todo mês.

Solução

Em vez de depender de uma tag de referência (que pode faltar, vir vazia ou usar convenção diferente por emissor), a resolução de propriedade varre o conteúdo bruto decodificado do XML procurando, por substring match, o identificador tributário de cada entidade cadastrada; o dono é a primeira empresa cujo identificador aparece literalmente no texto do documento. Essa escolha tolera a inconsistência de marcação na origem sem quebrar o pipeline. A extração roda de forma incremental (mês anterior completo, calculado automaticamente), pagina via cursor/URL-de-continuação nativo da API, e filtra estritamente pela data de emissão real parseada via regex do próprio XML, não pela data de criação do registro, que pode divergir. PDF e XML de cada documento são baixados como par e gravados num staging local; ao final do mês, a consolidação decodifica cada XML, resolve o dono por substring match, e escreve dois artefatos: um ZIP geral com todos os documentos organizados em Empresa/TipoDeDocumento/, e um ZIP individual por empresa com o mesmo recorte. O staging é limpo depois de cada consolidação bem-sucedida, e o relatório final segue por e-mail.

Impacto

Consolidação mensal de documentos fiscais totalmente automatizada, sem etapa manual de triagem por empresa, mesmo com marcação de contraparte inconsistente na fonte. O mecanismo de substring match elimina a dependência de uma tag específica que a origem nem sempre preenche corretamente, tornando o pipeline resiliente a mudança de formato do lado do provedor.

Precisa consolidar documento fiscal de múltiplas empresas sem depender de tag de referência? Vamos desenhar essa resolução no seu contexto.

Falar sobre seu caso