D-61 (Q-9): the writer sheds the typesetter and the crate map is layered again. The PDF/XLSX reader (extract.rs, plan P6) is now the plain library crate ledger-reader, moved whole with git mv and no behavior change. ledger-store depends on it instead of ledger-import, so the store no longer builds Typst or the fonts; ledger-import re-exports it as ledger_import::extract so gui, mcp, host and the fuzz targets compile unchanged, and still never depends on the store. New crate carries only the dependencies extract.rs imports (hayro, hayro-interpret, kurbo, zip, quick-xml, thiserror); fuzz/Cargo.lock gains the new package. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
44 lines
1.9 KiB
Rust
44 lines
1.9 KiB
Rust
//! QuickBooks-compatible import/export for wanderbooks.
|
|
//!
|
|
//! - [`bank_csv`]: parse QBO bank/credit-card upload CSVs.
|
|
//! - [`chart_csv`]: parse chart-of-accounts CSVs.
|
|
//! - [`iif`]: generate IIF journal entries for QuickBooks Desktop.
|
|
//! - [`report`]: the statement layout every renderer draws from.
|
|
//! - [`xlsx`]: generate XLSX reports.
|
|
//! - [`pdf`]: generate PDF financial statements (CPA handoff).
|
|
//! - [`asset_register`]: the fixed asset register as XLSX and PDF.
|
|
//! - [`labels`]: print asset label sheets with QR codes.
|
|
//! - [`invoice_pdf`](mod@invoice_pdf): an invoice as PDF.
|
|
//! - [`fonts`]: the bundled fonts the PDFs and the viewer share.
|
|
//!
|
|
//! All money stays `Decimal`; no floats in money paths.
|
|
|
|
pub mod asset_register;
|
|
pub mod bank_csv;
|
|
pub mod chart_csv;
|
|
/// The one reader, now the `ledger-reader` crate (D-61), kept at its old path.
|
|
pub use ledger_reader as extract;
|
|
pub mod fonts;
|
|
pub mod iif;
|
|
pub mod invoice_pdf;
|
|
pub mod labels;
|
|
pub mod pdf;
|
|
pub mod report;
|
|
pub mod templates;
|
|
pub mod xlsx;
|
|
|
|
pub use asset_register::{asset_register_pdf, asset_register_xlsx};
|
|
pub use bank_csv::{BankCsvError, BankTransaction, DateOrder, parse_bank_csv, parse_bank_csv_with};
|
|
pub use chart_csv::{ChartRow, parse_chart_csv};
|
|
pub use extract::{ExtractError, page_count, page_png, pdf_lines, pdf_text, text_of, xlsx_text};
|
|
pub use iif::{
|
|
Iif, IifAccount, IifChange, IifClass, IifError, IifField, LeftOut, MEMO_MAX, NAME_MAX,
|
|
NUMBER_MAX, QbAccountType, iif_accounts, iif_classes, journal_to_iif,
|
|
};
|
|
pub use invoice_pdf::{InvoiceDoc, InvoiceItem, InvoiceParty, InvoiceStamp, invoice_pdf};
|
|
pub use labels::{AssetLabel, LabelSheet, asset_labels_pdf};
|
|
pub use pdf::{PdfError, statement_pdf};
|
|
pub use report::{Member, ReportMeta, Row, RowKind, Statement, YearEarnings, format_amount};
|
|
pub use templates::{ChartTemplate, EntityType, chart_template};
|
|
pub use xlsx::{XlsxReport, report_to_xlsx};
|