[package]
edition = "2024"
rust-version = "1.88"
name = "en16931"
version = "0.2.0"
authors = ["hupe1980"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The EN 16931 semantic data model and its business rules, as Rust types. Validates the model rather than a serialised document, so findings point at BT-151 on line 3 instead of at an XPath. No XML, no PDF, no I/O."
readme = "README.md"
keywords = [
"einvoice",
"en16931",
"invoice",
"xrechnung",
"peppol",
]
categories = [
"finance",
"data-structures",
"encoding",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/hupe1980/en16931"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
billing = ["dep:billing"]
chrono = ["dep:chrono"]
default = []
sepa = ["dep:sepa"]
serde = [
"dep:serde",
"rust_decimal/serde",
]
svrl = []
time = ["dep:time"]
[lib]
name = "en16931"
path = "src/lib.rs"
[[example]]
name = "build_and_reconcile"
path = "examples/build_and_reconcile.rs"
[[example]]
name = "profiles_and_proofs"
path = "examples/profiles_and_proofs.rs"
[[example]]
name = "report_formats"
path = "examples/report_formats.rs"
required-features = [
"serde",
"svrl",
]
[[example]]
name = "validate_an_invoice"
path = "examples/validate_an_invoice.rs"
[[test]]
name = "annex_a"
path = "tests/annex_a.rs"
[[test]]
name = "artefact_pin"
path = "tests/artefact_pin.rs"
[[test]]
name = "attribution"
path = "tests/attribution.rs"
[[test]]
name = "billing_roundtrip"
path = "tests/billing_roundtrip.rs"
[[test]]
name = "codelists"
path = "tests/codelists.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "corpus"
path = "tests/corpus.rs"
[[test]]
name = "profiles"
path = "tests/profiles.rs"
[[test]]
name = "robustness"
path = "tests/robustness.rs"
[[test]]
name = "serde_invariants"
path = "tests/serde_invariants.rs"
[[test]]
name = "spec_dir"
path = "tests/spec_dir.rs"
[[test]]
name = "ubl"
path = "tests/ubl.rs"
[[bench]]
name = "validate"
path = "benches/validate.rs"
harness = false
[dependencies.billing]
version = "0.10"
optional = true
[dependencies.chrono]
version = "0.4"
optional = true
default-features = false
[dependencies.rust_decimal]
version = "1.42"
features = ["std"]
default-features = false
[dependencies.sepa]
version = "0.5"
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.7.0"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1.11.0"
[dev-dependencies.roxmltree]
version = "0.21"
[dev-dependencies.rust_decimal]
version = "1.42"
features = [
"std",
"macros",
]
default-features = false
[dev-dependencies.serde_json]
version = "1"