Skip to main content

Module expense_dto

Module expense_dto 

Source
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§

ApproveInvoiceDto
Approuver une facture (PendingApproval → Approved).
ChargeDistributionResponseDto
Response pour une répartition de charge.
CreateExpenseDto
CreateInvoiceDraftDto
Créer une facture brouillon avec gestion TVA. Validation des montants > 0 et taux 0-100 effectuée dans Expense::new_with_vat.
CreateInvoiceLineItemDto
Créer une ligne de facture. Validations (quantity > 0, unit_price ≥ 0, vat_rate 0..=100) dans InvoiceLineItem::new.
ExpenseResponseDto
InvoiceLineItemResponseDto
Response pour une ligne de facture.
InvoiceResponseDto
Response enrichie avec tous les champs invoice/workflow.
PendingInvoicesListDto
Liste des factures en attente d’approbation (pour syndics).
RejectInvoiceDto
Rejeter une facture avec raison (PendingApproval → Rejected).
SubmitForApprovalDto
Soumettre une facture pour validation (Draft → PendingApproval).
UpdateInvoiceDraftDto
Modifier une facture brouillon ou rejetée.