Skip to main content

Transforme séries de Notas Fiscais Eletrônicas .xml em conjuntos de dados prontos para análise!

Project description

build status test coverage code style

nflogic banner

Introdução

Este software permite processar os dados de muitos arquivos de notas fiscais eletrônicas e transformá-los em um conjunto de dados prontos para ser analisado por um analista de dados ou incorporado em uma aplicação para empresas.

[!WARNING] Este projeto ainda está em fase experimental e deve ser usado com cautela, embora haja um esforço para tal, ainda não é possível validar os dados coletados com total clareza.

Instalando

A maneira recomendada de instalar o nflogic como uma API é através do PyPI usando o console do seu computador:

pip install nflogic

Caso queira usar como uma linha de comando, a maneira recomendada é primeiramente instalar o pipx seguindo estas instruções, e depois usá-lo para instalar o nflogic:

pipx install nflogic

Como usar

Aqui estão alguns exemplos simples para aproveitar as principais funcionalidades do nflogic rapidamente.

Processando arquivos dentro de uma pasta

A principal funcionalidade do nflogic está em processar documentos XML de notas fiscais eletrônicas, para isso:

  • API

    import nflogic
    nflogic.parse_dir(dir_path="/full/path/to/directory", buy=False)
    
  • CLI

    nflogic parse --ParseTo=seller "/full/path/to/directory"
    

Estes comandos são equivalentes, e vão registrar os dados obtidos no diretório informado como vendas realizadas pelo vendedor que estiver informado no próprio documento. Caso existam múltiplos vendedores, uma tabela será construída para cada um que for encontrado.

Os dados são armazenados em um banco de dados que fica junto ao local de instalação do nflogic. Para saber onde está instalado, você pode usar este comando, caso tenha instalado com pip:

pip show nflogic

ou este, caso tenha instalado com pipx:

pipx runpip nflogic show nflogic

Procure pela linha que começa com "Location:" entre no diretóiro informado, e a partir de lá, o banco de dados será encontrado em "nflogic/database/db.sqlite".

Verificando erros

Depois de processar muitos dados em massa, é possível que o nflogic encontre falhas em alguns arquivos, dependendo da quantidade de notas fiscais processadas, você pode ter muitos arquivos para analisar. O nflogic permite ver um resumo das falhas de processamento dos arquivos, indicando as mensagens de erro emitidas junto com a etapa do processamento em que a falha ocorreu.

O nflogic faz o melhor possível para identificar o nome do vendedor ou comprador da nota, salva os erros em caches separados por nome. Quando não é possível, o erro é registrado em um arquivo comum para todos os documentos em que o nome não pode ser identificado, para listar os nomes dos arquivos de cache:

  • API

    import nflogic
    # obtenha uma lista com o nome dos arquivos de cache
    cachenames = nflogic.cache.get_cachenames()
    # se algum erro ja tiver sido registrado, mostre na tela (stdout) o nome do cache e o
    # resumo dos erros obtidos
    for cn in cachenames:
        error_df = nflogic.rebuild_errors(cachename=cn)
        summary = nflogic.summary_err_types(err_df=error_df)
        print(f"{cn}\n----", summary.to_string(), "\n", sep="\n")
    

[!NOTE] Explicando um pouco o código acima:

  1. A função rebuild_errors() vai tentar repetir o procedimento que falhou anteriormente, registrando todas as informações pertinentes de falhas em um pandas.DataFrame;
  2. A função summary_err_types agrupa os erros similares por tipo, retornando um pandas.DataFrame mais conciso.
  • CLI

    Veja os nomes de cache disponíveis com:

    nflogic cachenames
    

    Depois veja o resumo dos erros, substituindo [CACHENAME] por um dos nomes listados anteriormente:

    nflogic parse_cache [CACHENAME]
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nflogic-0.1.0.tar.gz (118.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nflogic-0.1.0-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file nflogic-0.1.0.tar.gz.

File metadata

  • Download URL: nflogic-0.1.0.tar.gz
  • Upload date:
  • Size: 118.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for nflogic-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9df33500d39dccb16113fe82cf2bbff2a2232392ddfb9889f92021969ac0f6bd
MD5 cc7d50f309777f59a2309d8535f1c441
BLAKE2b-256 ccbadc72e4d2626573bc74f13b4e40e3c68f466fbb99b50dfe174ac0acd2f8f8

See more details on using hashes here.

File details

Details for the file nflogic-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nflogic-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for nflogic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85f4ca86fecf908da0e46410783f573b3820f57b2eb1e9c141d9a4f93a9a474d
MD5 514df6f71ae7e7218a15e0d1bb178430
BLAKE2b-256 e0ded5d576d73a95ec28658fc20e181d0aa2e3b5f61ce3d2537d9e02282a0c77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page