- Updated the `validate_common` function to accept an optional `existing_invoice` parameter, allowing for more robust validation when updating invoices.
- Introduced a new helper function, `_normalize_invoice_currency_value`, to standardize currency code handling.
- Adjusted currency validation logic to ensure proper handling of existing invoice data, preventing changes to currency types when associated line items exist.
- Modified the `validate_update` functions in both imports and exports to pass the `existing_invoice` parameter, ensuring consistent validation across different update scenarios.
- Updated validation logic to restrict 'IMD' document type usage unless the invoice type is 'DEF'.
- Refactored value assignment in the main processing flow to handle 'DEF' and 'MEX' invoice types with specific IVA calculations.
- Added logging for invoice processing to improve traceability and debugging.
These changes improve the accuracy of invoice validations and processing for specific document types.
- Updated the invoice processing route to automatically detect and handle invoice types based on the operation_type.
- Introduced error handling for non-existent invoices, returning a 404 status when an invoice is not found.
- Added a new field 'serie_row' in the Serie model to accommodate additional data for export scenarios.
- Renamed 'is_processed' fields to 'status' in the InvoiceHeader model and updated corresponding attributes in schemas, services, and frontend components for consistency.
- Adjusted query filters and validation logic to reflect the new 'status' terminology.
- Updated comments and documentation to clarify changes in invoice status handling.
- Renamed fields in the `InvoiceHeader` model from `is_updated` to `is_processed` and updated corresponding attributes in schemas, services, and frontend components.
- Adjusted query filters and validation logic to reflect the new processing status.
- Updated comments and documentation to ensure clarity regarding the changes in invoice status handling.
- Added new validations for pedimento regimes and compliance checks in common_validators.py.
- Implemented missing date checks for consolidated pedimentos.
- Introduced validation for shipped_by_id and manifest_number in invoice compliance.
- Refactored create_validators.py by removing the file as it was no longer needed.
- Updated update validators for exports and imports to use invoice_data instead of invoice.
- Modified schemas.py to set default values for financial fields to avoid None values.
- Created calculations.py to handle invoice calculations, including total increments and regime changes.
- Improved layout responsiveness in various Svelte components for better user experience.
- Moved common validation functions to a shared module for reusability.
- Updated create and update validators for import invoices to use the new common validation functions.
- Introduced new validators for export invoices, ensuring they adhere to the required fields and validation rules.
- Enhanced the update logic to handle both import and export invoice types appropriately.
- Cleaned up the code for better readability and maintainability.
- Consolidated item creation and update validation into a common function to reduce code duplication.
- Updated the `validate_create` and `validate_update` functions to utilize the new common validation logic.
- Introduced a new `common_validators.py` file for shared validation functions.
- Added a new `fractions.py` file to handle fraction-related logic and searches.
- Enhanced the `LineCustom` model to use an enumeration for `fraction_type`.
- Improved the `ItemService` class with methods for locking invoices and renumbering line items.
- Updated the `Sector` model to use a boolean type for the `authorized` field.
- Fixed import issues in the router by replacing the old `a24_router` with `sitar_router`.