1 个不稳定版本
0.1.0 | 2021 年 2 月 23 日 |
---|
#80 在 #util
94KB
287 行
rifven
委内瑞拉 RIF 实施方案,可用于创建和验证 RIF 号码
RIF 号码是什么?
RIF(Registro de Informacion Fiscal,西班牙语为 Fiscal Information Registry)是委内瑞拉实体 SAIME 提供的一个号码,用于税务目的识别多个实体。
RIF 由一种类型组成,可能是
- C:乡镇或社区议会
- E:代表外国自然人,意为“Extranjera”和“Extranjero”
- G:代表政府实体,意为“Gubernamental”
- J:用于法律实体。可以是自然人或公司实体,意为“Jurídico”
- P:用于护照上的 RIF 号码
- V:代表具有委内瑞拉国籍的人,意为“Venezolana”和“Venezolano”
一个标识号码,后面跟着一个连字符符号,最后是一个校验数字,之后跟着一个连字符符号。
动机
实现一个crate,帮助创建有效的RIF号码实例
用法
创建一个新的 Rif
实例,提供其各个部分的值,如 Kind
(J;V;P;G;C),标识符(纳税人ID),校验数字。
以下代码,创建了一个类似于 J-07013380-5
的 RIF 字符串的 Rif
实例
use rifven::{Kind, Rif};
let rif = Rif::new(Kind::Legal, 07013380, 5).unwrap();
assert_eq!(rif.kind(), Kind::Legal);
assert_eq!(rif.identifier(), 7013380);
assert_eq!(rif.checksum_digit(), 5);
您还可以从其字符串表示形式创建 Rif
实例
use rifven::{Kind, Rif};
use std::str::FromStr;
let myrif = Rif::from_str("J-07013380-5").unwrap();
assert_eq!(Rif::new(Kind::Legal, 07013380, 5).unwrap(), myrif);
许可
Apache 2.0 和 MIT 许可协议下许可
贡献
欢迎对这个项目的任何贡献,您可以自由地发起一个 Pull Request 或 issue
依赖关系
~305–770KB
~18K SLoC