Skip to main content

Crate nfe_parser

Crate nfe_parser 

Source
Expand description

§NFe Parser - Biblioteca Rust para Documentos Fiscais Eletrônicos

Biblioteca de alto desempenho para parsing, serialização e manipulação de documentos fiscais eletrônicos brasileiros: NF-e, NFC-e e NFS-e.

§Funcionalidades

  • NF-e (Modelo 55): Nota Fiscal Eletrônica para operações B2B
  • NFC-e (Modelo 65): Nota Fiscal de Consumidor Eletrônica para varejo
  • NFS-e: Nota Fiscal de Serviços Eletrônica (padrão ABRASF)
  • Impostos completos: ICMS (todos os CSTs), IPI, PIS, COFINS, ISS, II, DIFAL
  • Municípios: Tabela IBGE com alíquotas de ISS (Matão, Araraquara e +)
  • Alíquotas: ICMS por UF, ISS por município, DIFAL interestadual

§Exemplo de uso

use std::fs::File;
use std::convert::TryFrom;
use nfe_parser::{Nfe, NfeBuilder, ItemBuilder};

// Lendo uma NF-e existente
let file = File::open("nota.xml")?;
let nfe = Nfe::try_from(file)?;
println!("Chave: {}", nfe.chave_acesso);
println!("Total: R$ {:.2}", nfe.totais.valor_total);

// Criando uma nova NF-e
let nfe = NfeBuilder::new()
    .emitente("12345678000195", "Empresa Ltda", "SP")
    .destinatario("98765432000123", "Cliente SA")
    .item(ItemBuilder::new("001", "Produto X", "12345678", "5102")
        .quantidade(10.0)
        .valor_unitario(99.90)
        .build())
    .build()?;

§Módulos

  • base: Estruturas fundamentais da NF-e
  • builder: API fluente para construção de NF-e
  • modelos: Modelos específicos de documentos

Re-exports§

pub use base::dest::Destinatario;
pub use base::dest::IndicadorContribuicaoIe;
pub use base::emit::Emitente;
pub use base::endereco::Endereco;
pub use base::ide::ComposicaoChaveAcesso;
pub use base::ide::DestinoOperacao;
pub use base::ide::Emissao;
pub use base::ide::FinalidadeEmissao;
pub use base::ide::FormatoImpressaoDanfe;
pub use base::ide::Identificacao;
pub use base::ide::ModeloDocumentoFiscal;
pub use base::ide::Operacao;
pub use base::ide::TipoAmbiente;
pub use base::ide::TipoConsumidor;
pub use base::ide::TipoEmissao;
pub use base::ide::TipoIntermediador;
pub use base::ide::TipoOperacao;
pub use base::ide::TipoPresencaComprador;
pub use base::ide::TipoProcessoEmissao;
pub use base::item::Imposto;
pub use base::item::Item;
pub use base::item::Produto;
pub use base::municipios::Municipio;
pub use base::municipios::ConfiguracaoUf;
pub use base::municipios::AliquotaIss;
pub use base::municipios::SistemaNfse;
pub use base::municipios::matao;
pub use base::municipios::araraquara;
pub use base::municipios::sao_paulo_uf;
pub use base::municipios::aliquotas_iss_matao;
pub use base::municipios::aliquotas_iss_araraquara;
pub use base::municipios::aliquotas_icms_por_uf;
pub use base::municipios::buscar_municipio_por_codigo;
pub use base::municipios::buscar_uf;
pub use base::municipios::calcular_aliquota_interestadual;
pub use base::nfce::QrCodeNfce;
pub use base::nfce::ConfiguracaoCsc;
pub use base::nfce::ValidadorNfce;
pub use base::nfce::FormaPagamentoNfce;
pub use base::nfce::ModoEmissaoNfce;
pub use base::nfse::Nfse;
pub use base::nfse::IdentificacaoNfse;
pub use base::nfse::PrestadorServico;
pub use base::nfse::TomadorServico;
pub use base::nfse::ServicoNfse;
pub use base::nfse::ValoresNfse;
pub use base::nfse::NaturezaOperacaoNfse;
pub use base::nfse::RegimeEspecialNfse;
pub use base::nfse::StatusNfse;
pub use base::nfse::Rps;
pub use base::nfse::LoteRps;
pub use base::nfse::calcular_valores_nfse;
pub use base::totais::Totalizacao;
pub use base::transporte::ModalidadeFrete;
pub use base::transporte::Transporte;
pub use base::Error;
pub use base::Nfe;
pub use base::VersaoLayout;
pub use builder::NfeBuilder;
pub use builder::ItemBuilder;
pub use base::item::imposto::*;

Modules§

base
Base da NF-e - Estruturas fundamentais da Nota Fiscal Eletrônica
builder
Builder para criação de NF-e
modelos
Módulo de modelos