pub enum Profile {
En16931,
PeppolBis3,
Pint,
PintMy,
Unknown,
}Expand description
Usage specification (BT-24). Not a ladder: Peppol BIS and PINT are siblings.
Variants§
En16931
CEN EN 16931-1 core (2017+A1 until 2026 artefacts exist).
PeppolBis3
Peppol BIS Billing 3.0 (EU VAT CIUS).
Pint
Peppol International base (tax is not only VAT).
PintMy
PINT-MY specialisation (SST, TIN/BRN schemes).
Unknown
Parsed BT-24 did not match a shipped billing profile. Do not invent En16931.
Implementations§
Source§impl Profile
impl Profile
Sourcepub const PEPPOL_BIS3_PREFIX: &'static str = "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0"
pub const PEPPOL_BIS3_PREFIX: &'static str = "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0"
Canonical Peppol BIS 3.0 BT-24 prefix (the CIUS URN).
Sourcepub fn parse(s: &str) -> Option<Self>
pub fn parse(s: &str) -> Option<Self>
Parse a slug (en16931, peppol, pint, pint-my, plus aliases). None if unknown.
Sourcepub fn specification_id(self) -> &'static str
pub fn specification_id(self) -> &'static str
Canonical BT-24 specification identifier. Empty for Profile::Unknown.
Sourcepub fn process_id(self) -> Option<&'static str>
pub fn process_id(self) -> Option<&'static str>
BT-23 / ProfileID required by this profile. EN 16931 has none (omit, do not invent).
Sourcepub fn tax_systems(self) -> &'static [TaxSystem]
pub fn tax_systems(self) -> &'static [TaxSystem]
Tax systems this profile accepts.
Sourcepub fn allows(self, system: TaxSystem) -> bool
pub fn allows(self, system: TaxSystem) -> bool
Whether system is in Self::tax_systems.
Sourcepub fn known_slugs() -> &'static str
pub fn known_slugs() -> &'static str
Comma-separated known slugs for CLI help.
Sourcepub fn edition(self) -> Edition
pub fn edition(self) -> Edition
Edition this profile validates. Always Edition::En2017A1 until 2026 artefacts exist.
Sourcepub fn is_conformant_cius(self) -> bool
pub fn is_conformant_cius(self) -> bool
Peppol BIS 3.0 is a CIUS of EN 16931. PINT is not.
Sourcepub fn extra_rules(self) -> &'static [Rule]
pub fn extra_rules(self) -> &'static [Rule]
Peppol extra_rules. PINT / PINT-MY / EN core do not inherit them.
Sourcepub fn for_specification_id(id: &str) -> ProfileLookup
pub fn for_specification_id(id: &str) -> ProfileLookup
Prefix match for BT-24. Never contains("pint").