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

Uploaded Python 3

File details

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

File metadata

  • Download URL: nfetoolkit-0.3.1.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for nfetoolkit-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a70c4692162a6f2e931718540e15f0e33e729c1d24c7da7579ae228fbe11ae36
MD5 0c22b88f480e668277c2a2db23c3bbd0
BLAKE2b-256 9bb74ae33460778491385689147b506d6c8daa42ff2fcf540277cbd2e8edca8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nfetoolkit-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 13.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.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e92b8e977b10b1d2acf3218060c2c00e9d89a57f28444868afd5bc041eac8bc7
MD5 e0d132ec921949c3c3e6a08f0a624c2e
BLAKE2b-256 333ca8972477e64c71d058d03cd5a14180cbd8ec09b874d168139280ba1c30fe

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