Expand description
Expense DTOs — monetary fields use rust_decimal::Decimal (cf. ADR-0007).
Note : validator crate #[validate(range(...))] ne support pas Decimal
avec literals de type f64. Les invariants montants (> 0, taux VAT 0-100)
sont enforced dans Expense::new / Expense::new_with_vat côté domaine
(cf. domain/entities/expense.rs).
Structs§
- Approve
Invoice Dto - Approuver une facture (PendingApproval → Approved).
- Charge
Distribution Response Dto - Response pour une répartition de charge.
- Create
Expense Dto - Create
Invoice Draft Dto - Créer une facture brouillon avec gestion TVA.
Validation des montants > 0 et taux 0-100 effectuée dans
Expense::new_with_vat. - Create
Invoice Line Item Dto - Créer une ligne de facture.
Validations (quantity > 0, unit_price ≥ 0, vat_rate 0..=100) dans
InvoiceLineItem::new. - Expense
Response Dto - Invoice
Line Item Response Dto - Response pour une ligne de facture.
- Invoice
Response Dto - Response enrichie avec tous les champs invoice/workflow.
- Pending
Invoices List Dto - Liste des factures en attente d’approbation (pour syndics).
- Reject
Invoice Dto - Rejeter une facture avec raison (PendingApproval → Rejected).
- Submit
ForApproval Dto - Soumettre une facture pour validation (Draft → PendingApproval).
- Update
Invoice Draft Dto - Modifier une facture brouillon ou rejetée.