#swiss #uid #data-structures #ustid #mwst #mehrwertsteuer

swiss_uid

A Rust implementation of the Swiss UID number based on the Swiss E-Government Standard eCH-0098:2021

4 stable releases

new 1.1.0 Jan 26, 2025
1.0.2 Aug 4, 2024
1.0.1 Jul 7, 2024
1.0.0 Jan 22, 2024

#80 in Finance

Download history 1/week @ 2024-12-03 12/week @ 2024-12-10 8/week @ 2024-12-24 83/week @ 2025-01-21

83 downloads per month

MIT license

18KB
359 lines

Swiss E-Government Standard eCH-0097: Datenstandard Unternehmensidentifikation

This library implements functionalities and data structures in accordance to the data standard eCH-0098:2021 5.2.0

Example usage

use swiss_uid::uid::SwissUid;

// Using the new function:
let uid = SwissUid::new("CHE-109.322.551").unwrap();
assert_eq!(format!("{:?}", uid), "CHE-109.322.55[1]".to_owned()); // Debug output
assert_eq!(format!("{}", uid), "CHE-109.322.551".to_owned()); // Display output
assert_eq!(uid.to_string(), "CHE-109.322.551".to_owned()); // Display output
assert_eq!(uid.to_string_mwst(), "CHE-109.322.551 MWST".to_owned());
assert_eq!(uid.to_string_hr(), "CHE-109.322.551 HR".to_owned());

// Parse a string directly:
let uid2: SwissUid = "CHE-109.322.551".parse().unwrap();
assert_eq!(uid2.to_string().len(), 15);

Dependencies

~1.5MB
~24K SLoC