Toolkit para manipulação de notas fiscais eletrônicas
Project description
nfetoolkit
Ferramenta de linha de comando para organizar, corrigir, ler e exportar arquivos XML de Nota Fiscal Eletrônica (NF-e).
📦 Instalação de dependências
Certifique-se de ter o Python 3.9+ instalado.
Instale as dependências com:
pip install -r requirements.txt
▶️ Como usar
Execute a ferramenta com o comando:
python manage.py <comando> [opções]
🔁 Comandos disponíveis
🗂️ organize
Organiza os arquivos XML em subpastas por tipo: nfe, canc, cce, inut.
python manage.py organize <source_dir> <dest_dir> [--no-verbose]
Exemplo:
python manage.py organize C:\xmls_originais C:\xmls_organizados
📤 export
Exporta os dados estruturados dos XMLs encontrados para um arquivo .txt.
python manage.py export <xml_dir> [--output <arquivo_saida>] [--no-verbose]
Exemplo:
python manage.py export C:\xmls_organizados --output export.txt
Se não especificar --output, será gerado ./nfe_data.txt no diretório atual.
🛠️ fix
Aplica correções definidas em um arquivo config.json a todos os XMLs de um diretório.
python manage.py fix <input_dir> <config.json> [--output_dir <destino>] [--no-verbose]
Exemplo:
python manage.py fix C:\xmls_organizados config.json --output_dir C:\xmls_corrigidos
Se --output_dir não for informado, os arquivos corrigidos serão salvos no mesmo diretório de origem.
📄 read
Gera o DANFE (arquivo PDF) de uma NF-e.
python manage.py read <xml_file> [--output <arquivo_pdf>]
Exemplo:
python manage.py read nfe.xml --output nota.pdf
🔧 Exemplo de config.json para o comando fix
{
"rules": [
{
"namespace": {
"ns": "http://www.portalfiscal.inf.br/nfe"
},
"path": ".//ns:det",
"tag": ".//ns:imposto/ns:ICMS/ns:ICMS00/ns:orig",
"condition": {
".//ns:prod/ns:NCM": "85142011",
".//ns:imposto/ns:ICMS/ns:ICMS00/ns:orig": "0"
},
"new_value": "2"
}
]
}
📌 Observações
- O padrão é exibir barra de progresso (
verbose=True). Use--no-verbosese quiser ocultar. - A estrutura esperada dos XMLs segue o padrão da SEFAZ.
- Os dados exportados seguem o layout dos blocos SPED (
RegistroN100,N170,Z100, etc.).
📁 Estrutura recomendada do projeto
nfetoolkit/
├── core/
│ ├── handler.py
│ ├── fix.py
│ ├── organizer.py
│ ├── repository.py
├── manage.py
├── config.json
├── requirements.txt
🔗 Licença
Este projeto é distribuído sob a licença MIT.
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
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 nfetoolkit-0.2.9.tar.gz.
File metadata
- Download URL: nfetoolkit-0.2.9.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d097151dd008a9e9066a3d0abd7f662b7d19d4d4ea5df74194ee32e2018ee233
|
|
| MD5 |
4d93591869878b5cbdff138175604221
|
|
| BLAKE2b-256 |
59f4f88a54fddf42e4ae65a96bea56fe748296c0523b5daab65c7a2b28cceb0c
|
File details
Details for the file nfetoolkit-0.2.9-py3-none-any.whl.
File metadata
- Download URL: nfetoolkit-0.2.9-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c13fa12b852b06cb51addcf531eb5c32461c2efec3f26a623ec225a7ea3fed29
|
|
| MD5 |
9b8606b713800284762a5ee09f19eb60
|
|
| BLAKE2b-256 |
7d94040edfca1fb0af6beff11ef40c6957a1f4020600712a22c39b63900617e7
|