- Added `common.py` to handle shared validation logic for line items, including checks for invoice existence, class validity, and customs data.
- Introduced `create.py` for validating new line items, ensuring required fields are present and calculating costs based on currency type.
- Created `update.py` to manage partial updates of line items, maintaining existing values when new data is not provided.
- Enhanced error handling with specific messages and solutions for various validation failures.
- 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.