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

Uploaded Python 3

File details

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

File metadata

  • Download URL: nfetoolkit-0.2.8.tar.gz
  • Upload date:
  • Size: 12.7 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.8.tar.gz
Algorithm Hash digest
SHA256 0cc9c6c6f1ba1f11df42d74e419cb5ab9786313b32504f0f3dab01b69631a188
MD5 752693fdd5a10b8469be95d7d6a57bff
BLAKE2b-256 af5f8e8c2405a8486f0faab5f92a28a48ddcd4e8e881936e85249058494065a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nfetoolkit-0.2.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 c41369027c85cf6a8e394fa48f162ff1b9645f29d7b29b9690135b9cd76bec48
MD5 b5f28dca9d4700030ecbee22d49ec53e
BLAKE2b-256 345274dda161681575a60ffc0aafc8f8068eb085356d484bcd05de1205604dff

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