#uid #swiss #mehrwertsteuer #mwst #ustid

swiss_uid

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

5 stable releases

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

#84 in Finance

Download history 85/week @ 2025-01-21 18/week @ 2025-01-28 8/week @ 2025-02-04 102/week @ 2025-04-22

102 downloads per month

MIT license

18KB
370 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

~405KB