Crate fiscalidade[][src]

Expand description

fiscalidade Biblioteca Rust para geração, validação, assinatura de XMLs de Documentos Fiscais e transmissão com webservices da SEFAZ.

Exemplo

O exemplo abaixo mostra como obter o status do serviço de homologação para o Mato Grosso:

use fiscalidade::{Ambiente, Dfe, Modelo, Pkcs12Certificate, Uf, WebServices};

#[tokio::main(flavor = "current_thread")]
async fn main() {
    let webservices = WebServices::from_embedded().unwrap();
    let pkcs12 = Pkcs12Certificate::from_file("resources/certificado.pfx", "minha-senha-secreta")
        .await
        .unwrap();
    let dfe = Dfe::new().set_webservices(webservices).set_pkcs12(pkcs12);
    let xml = dfe
        .status_servico(Modelo::Nfe, Uf::Mt, Ambiente::Homologacao)
        .await
        .unwrap();
    println!("XML retornado: {}", xml);
}

Structs

Client HTTP com suporte a TLS e compressão de dados.

Construtor de clients HTTP usando build pattern.

Objeto para manipulação de certificados PKCS #12.

Enums

Tipo para tratar erros relacionados a I/O e ao client HTTP.

Tipo para tratar erros relacionados a I/O e leitura de certificado PKCS #12.

Constants

Tempo padrão de timeout para conexão de client HTTP.

Tempo padrão de timeout para transmissão de dados de client HTTP.

Functions

Valida se Ambiente é está presente na lista de Ambientes válidos.

Valida chave de nota usando regra ^[0-9]{44}$ extraída de arquivo “tiposBasico_v4.00.xsd” da SEFAZ.

Valida número de recibo usando regra ^[0-9]{15}$ extraída de arquivo “tiposBasico_v4.00.xsd” da SEFAZ.

Valida se UF é está presente na lista de UFs válidas.

Type Definitions

Tipo para tratar retorno do builder de client HTTP.

Tipo para tratar retorno do client HTTP.

Tipo para tratar retorno de leitura do certificado PKCS #12.