mirror of
https://github.com/BSchneppe/einvoice-rs.git
synced 2026-03-17 10:24:08 +00:00
25 lines
1.2 KiB
Rust
25 lines
1.2 KiB
Rust
use einvoice::{validate_invoice, InvoiceError, InvoiceStandard};
|
|
|
|
fn main() {
|
|
let xml = r#"
|
|
<rsm:CrossIndustryInvoice xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
|
|
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
|
|
xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
|
|
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
|
|
<rsm:ExchangedDocumentContext>
|
|
<ram:BusinessProcessSpecifiedDocumentContextParameter>
|
|
<ram:ID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ram:ID>
|
|
</ram:BusinessProcessSpecifiedDocumentContextParameter>
|
|
<ram:GuidelineSpecifiedDocumentContextParameter>
|
|
<ram:ID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</ram:ID>
|
|
</ram:GuidelineSpecifiedDocumentContextParameter>
|
|
</rsm:ExchangedDocumentContext>
|
|
</rsm:CrossIndustryInvoice>
|
|
"#;
|
|
let invalid_invoice: Result<InvoiceStandard, InvoiceError> = validate_invoice(xml);
|
|
match invalid_invoice {
|
|
Ok(_) => println!("Invoice is valid"),
|
|
Err(e) => println!("Invoice is invalid: {:?}", e),
|
|
}
|
|
}
|