- 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.
- Moved validation functions for creating and updating line items to dedicated modules.
- Introduced new calculations module for handling financial calculations related to line items.
- Updated import paths for validation functions to reflect new structure.
- Renamed LineItem interface to Item and adjusted properties accordingly.
- Updated CreateItemData and UpdateItemData interfaces to reflect new structure.
- Modified components to use the new Item interface, removing nested lines.
- Adjusted data binding in item configuration, main data, and other related components.
- Simplified item creation and editing logic by removing unnecessary nesting.
- Ensured all references to line items are updated to reflect the new structure.
- 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`.
- Added new schemas for FA line items in the backend, including creation, update, and response DTOs.
- Updated existing line item schemas to include FA data.
- Modified database models to reflect new table names for line quantities and references.
- Enhanced ItemService to handle FA data during item creation and updates.
- Introduced new routes and service layer for FA line items, including CRUD operations.
- Updated frontend components to support FA line item data, including new fields and UI adjustments.
- Implemented data flattening for improved item display in the dashboard.
- Introduced nested interfaces for line items including customs, financials, quantities, descriptions, and references.
- Updated Item interface to include lines as an array of LineItem.
- Modified invoice top fields to handle pedimento ID and auto-assign values from the invoice.
- Enhanced item configuration component to manage line item properties and descriptions.
- Updated main data, packages section, summary section, and other components to bind new line item properties.
- Implemented normalization of numeric values when editing items to ensure consistent data types.
- Adjusted save invoice logic to accommodate new line item structure and compliance data.
- Renamed customs-related schemas in line_items to LineCustomCreate, LineCustomUpdate, and LineCustomResponse.
- Adjusted models to streamline invoice_id mapping in Item model.
- Enhanced item routes to include company_id in summary statistics endpoint.
- Refactored ItemService to improve item creation and update logic, removing redundant methods.
- Updated frontend components for item management, including new item creation and editing functionalities.
- Added API client for items with CRUD operations and improved error handling.
- Implemented the items tab form in Svelte for editing invoices, displaying item quantities and import values.
- Created saveInvoice function to handle both creation and updating of invoices, including validation of required fields and building a unified payload for API requests.
- Added support for compliance, financials, and logistics data in the invoice payload.