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.7.tar.gz (12.3 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.7-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file nfetoolkit-0.2.7.tar.gz.

File metadata

  • Download URL: nfetoolkit-0.2.7.tar.gz
  • Upload date:
  • Size: 12.3 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.7.tar.gz
Algorithm Hash digest
SHA256 d8fba99293a74f75c4116584803325cd149fc032688a72bade748e82ded4e919
MD5 fb257caeedbd9aa8bd5e1e3313d111e1
BLAKE2b-256 21eab87ec2ef51dd407aff6430d5e97842ff9e895eada9a331cd63c3411882ae

See more details on using hashes here.

File details

Details for the file nfetoolkit-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: nfetoolkit-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 10.8 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c96b770fa4a2a70ad114d507717cd0c1cfb8728c3a32df3ae8e5bc5f29684c4a
MD5 084c68558e5721ad19d8ff80ec7fb1a3
BLAKE2b-256 84b90d35f541ff2beae24379132fa13e28610eba22c43a31e9fa4215f09d69bb

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