Skip to main content

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-verbose se 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

nfetoolkit-0.2.9.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

nfetoolkit-0.2.9-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

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

Hashes for nfetoolkit-0.2.9.tar.gz
Algorithm Hash digest
SHA256 d097151dd008a9e9066a3d0abd7f662b7d19d4d4ea5df74194ee32e2018ee233
MD5 4d93591869878b5cbdff138175604221
BLAKE2b-256 59f4f88a54fddf42e4ae65a96bea56fe748296c0523b5daab65c7a2b28cceb0c

See more details on using hashes here.

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

Hashes for nfetoolkit-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c13fa12b852b06cb51addcf531eb5c32461c2efec3f26a623ec225a7ea3fed29
MD5 9b8606b713800284762a5ee09f19eb60
BLAKE2b-256 7d94040edfca1fb0af6beff11ef40c6957a1f4020600712a22c39b63900617e7

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