🦀 Escrito em Rust • Rápido e Seguro

Parsing de NF-e simplificado

Biblioteca Rust de alto desempenho para parsing e serialização de Nota Fiscal Eletrônica brasileira. Suporte ao Layout 4.00 da SEFAZ.

Cargo.toml
[dependencies]
nfe = "0.1.0"

Funcionalidades

Tudo que você precisa para trabalhar com NF-e em Rust

Alto Desempenho

Parsing e serialização extremamente rápidos graças ao quick-xml e otimizações do Rust.

🔒

Type-Safe

Tipagem forte com enums para todos os campos codificados, prevenindo erros em tempo de compilação.

📋

Layout 4.00

Suporte completo ao layout 4.00 da NF-e conforme especificação da SEFAZ.

🔄

Serialização

Converta facilmente entre estruturas Rust e XML válido para transmissão à SEFAZ.

📦

Modelos Completos

Suporte a NF-e (modelo 55) e NFC-e (modelo 65) com todas as estruturas necessárias.

🧪

Bem Testado

Cobertura de testes abrangente para garantir a conformidade com o padrão da SEFAZ.

Fácil de Usar

Parse de XML de NF-e em poucas linhas de código. A biblioteca cuida de toda a complexidade do XML para você.

Acesse todos os campos da nota fiscal através de structs Rust bem tipadas e documentadas.

  • Parse de arquivos XML
  • Parse de strings XML
  • Serialização para XML
  • Validação automática de tipos
  • Tratamento de erros robusto
use std::fs::File;
use std::convert::TryFrom;
use nfe::{Nfe, ModeloDocumentoFiscal};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Parse de arquivo XML
    let file = File::open("nota.xml")?;
    let nfe = Nfe::try_from(file)?;
    
    // Acessar dados da nota
    println!("Chave: {}", nfe.chave_acesso);
    println!("Emitente: {:?}", nfe.emit.razao_social);
    println!("Total: {}", nfe.totais.valor_total);
    
    // Verificar modelo
    match nfe.ide.modelo {
        ModeloDocumentoFiscal::Nfe => {
            println!("NF-e modelo 55");
        }
        ModeloDocumentoFiscal::Nfce => {
            println!("NFC-e modelo 65");
        }
    }
    
    Ok(())
}

Estruturas Disponíveis

Todas as estruturas da NF-e mapeadas para Rust

Nfe
Estrutura principal da Nota Fiscal Eletrônica
Identificacao
Dados de identificação da NF-e (ide)
Emitente
Dados do emitente da nota (emit)
Destinatario
Dados do destinatário (dest)
Item
Itens/produtos da nota (det)
Produto
Dados do produto (prod)
Imposto
Impostos do item (ICMS, PIS, COFINS)
Totalizacao
Totais da nota fiscal (total)
Transporte
Dados de transporte (transp)
Endereco
Endereços (emitente/destinatário)