#sefaz #nfe #sped

税收

Rust库,用于验证、签名和传输XML到SEFAZ的webservice

11个版本 (6个重大更新)

0.8.0 2021年10月14日
0.7.1 2021年10月6日
0.6.0 2021年10月5日
0.5.2 2021年10月4日
0.1.0 2020年1月25日

每月下载量 21次

MIT/Apache

38KB
1K SLoC

税收

用于验证、签名和传输XML到SEFAZ的webservice的Rust库。

示例

以下示例展示了如何获取Mato Grosso的测试服务状态

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

#[tokio::main]
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);
}

使用

将其添加到您的Cargo.toml

[dependencies]
tokio = { version = "1", features = ["full"] }
fiscalidade = "0.7"

愿望清单

  • 服务状态
  • 注册查询
  • XML查询
  • P12证书的读取
  • 使用系统标准TLS库进行安全连接
  • 配置连接和与webservice通信的超时
  • 将webservice文件嵌入到库中
  • 检查资源(信封、URL等)是否已更新
  • 异步调用
  • XML验证和签名
  • 添加注册查询示例
  • 与webservice通信尝试
  • 更多服务,如批量发送、收据查询、作废、DFe分发等
  • 批量发送时的压缩
  • 测试
  • 文档
  • 更多示例
  • 代理
  • GitHub Actions
  • DANFE

贡献

欢迎Pull Requests和Issue! =)

许可证

税收可分布在任何以下许可证下

依赖

~7–23MB
~320K SLoC