- Fix bidirectional R1 resolution in all report query builders (Temporary,
Definitive, Repair, Export, ExportRepair): use JOIN on
pedimento_rectification_origin in both directions so the rectified
pedimento number is resolved correctly and not duplicated.
- Restore original CSV export format (ValorComercialMN, ValorMPTemp,
ValorAgre as separate columns); compute them from item_line_financials
SUM instead of invoice-level header totals which were always 0.
- Rename CSV column "PEDIMENTO RECTIFICACION" to "PEDIMENTO R1" in both
backend csv_utils.py and frontend manual download.
- Harden temporary invoice update validator to safely handle null
compliance_mx / logistics objects without crashing.
- Add R1 rectification fields (es_rectificacion, pedimento_original, etc.)
to the pedimento other-data form and initialize their default state.
- Remove default companyId parameter from pedimentosApi methods to avoid
hardcoded company ID 1.
- Minor: whitespace cleanup, error handler adjustments, keyboard manager
fix.
- Updated schemas in `schemas.py` to enhance readability by aligning field definitions and descriptions.
- Consolidated optional fields and improved default values for better data handling.
- Modified the `InvoiceService` class in `services.py` to streamline error handling and data extraction for nested invoice components.
- Ensured that nested data is processed correctly before creating invoice entries, improving overall service reliability.
- Added InvoiceHeader, InvoiceComplianceMx, InvoiceFinancials, InvoiceLogistics, InvoiceSalesDetails, and InvoiceCollections models.
- Created schemas for invoice operations including create, update, and response schemas.
- Developed services for handling business logic related to invoices, including retrieval, creation, updating, and deletion of invoices and their related data.
- Introduced routes for invoice management, enabling CRUD operations through a RESTful API.
- Integrated invoice routes into the main application router.
- Removed unused routers from the core module to streamline the API structure.