[package] name = "ledger-import" version = "0.1.0" edition = "2024" license = "MIT OR Apache-2.0" [dependencies] ledger-core = { path = "../ledger-core" } csv = "1" rust_decimal = "1" chrono = "0.4" serde = { version = "1", features = ["derive"] } thiserror = "2" rust_xlsxwriter = "0.90" typst-as-lib = { version = "0.17", default-features = false } typst-pdf = "0.15.1" typst = "0.15.1" serde_json = "1" typst-layout = "0.15.1" qrcode = { version = "0.14.1", default-features = false, features = ["svg"] } # Extraction (extract.rs, plan P6): a PDF's text, a page's pixels, an # XLSX's cells. hayro (the renderer) and hayro-interpret (the text # interpreter) are pure Rust and already the viewer's PDF reader, so the # server and the viewer read a receipt through one implementation rather # than two; `zip` and `quick-xml` read a spreadsheet's XML. None of them # touches money: a number is kept as the decimal string the XML holds. hayro = { version = "0.8", features = ["embed-fonts"] } hayro-interpret = "0.8" kurbo = "0.13" zip = { version = "9.0.1", default-features = false, features = ["deflate"] } quick-xml = "0.38" # BSD-3-Clause: the IIF's transliteration to ASCII (iif.rs, rules.md B-34). # Pinned exactly: a new table would change what a CPA's file says. deunicode = { version = "=1.6.0", default-features = false } [lints] workspace = true [dev-dependencies] proptest = "1" rqrr = { version = "0.11.0", default-features = false }