Transforme séries de Notas Fiscais Eletrônicas .xml em conjuntos de dados prontos para análise!
Project description
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:
- A função
rebuild_errors()vai tentar repetir o procedimento que falhou anteriormente, registrando todas as informações pertinentes de falhas em umpandas.DataFrame;- A função
summary_err_typesagrupa os erros similares por tipo, retornando umpandas.DataFramemais conciso.
-
CLI
Veja os nomes de cache disponíveis com:
nflogic cachenamesDepois veja o resumo dos erros, substituindo
[CACHENAME]por um dos nomes listados anteriormente:nflogic parse_cache [CACHENAME]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9df33500d39dccb16113fe82cf2bbff2a2232392ddfb9889f92021969ac0f6bd
|
|
| MD5 |
cc7d50f309777f59a2309d8535f1c441
|
|
| BLAKE2b-256 |
ccbadc72e4d2626573bc74f13b4e40e3c68f466fbb99b50dfe174ac0acd2f8f8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85f4ca86fecf908da0e46410783f573b3820f57b2eb1e9c141d9a4f93a9a474d
|
|
| MD5 |
514df6f71ae7e7218a15e0d1bb178430
|
|
| BLAKE2b-256 |
e0ded5d576d73a95ec28658fc20e181d0aa2e3b5f61ce3d2537d9e02282a0c77
|