Commit Graph

86 Commits

Author SHA1 Message Date
309a26bf8f Refactor sort_order parameter in tenant and invoice routes to use 'pattern' instead of 'regex' for validation. This change enhances consistency across the API query parameters. 2026-04-02 08:36:16 -05:00
3cdb227ccc Merge branch 'development' into fix/filtro_facturas 2026-04-02 08:19:51 -05:00
1a01757c63 Merge branch 'development' into feature/validaciones-invoices-transports 2026-04-01 13:42:49 -06:00
7a029307a8 feature/validaciones-invoices-transortes 2026-03-27 12:56:47 -06:00
b477233245 feature/migraciones-id-transportes 2026-03-27 09:32:59 -06:00
d93c4c6b7b Mecanismo sort para tablas 2026-03-27 08:45:51 -05:00
9255dbc6b2 Se arreglo los filtros de facturas 2026-03-26 09:07:28 -05:00
a6c5abbe4c Enhance invoice validation logic to support existing invoices
- 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.
2026-03-24 18:52:53 -05:00
b5b99a5ddb feature/tabla-bitacora-logs-task 2026-03-24 13:07:35 -06:00
d69dd23bcd Enhance invoice processing logic for IMD and Mexican purchases
- 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.
2026-03-23 11:42:35 -05:00
fbb24f2cd3 Refactor invoice financials to change iva_factor type from string to numeric
- Updated the `iva_factor` field in the `InvoiceFinancials` model to use a numeric type with precision and scale.
- Adjusted related frontend components and API interfaces to reflect the new numeric type for `iva_factor`.
- Enhanced Alembic migration scripts to accommodate the schema changes, ensuring proper index management and data type conversions.

These changes improve data integrity and consistency for financial calculations in invoices.
2026-03-23 09:48:33 -05:00
54c137c156 Refactor invoice processing logic to remove legacy returned quantity fields and enhance data handling
- Updated invoice processing functions to eliminate legacy fields related to returned quantities, now relying on new balance movement and discharge records.
- Adjusted various components and services to reflect changes in quantity handling, including updates to the frontend for displaying used quantities instead of returned ones.
- Improved the logic for invoice total updates and validation processes to ensure consistency with the new data structure.

These changes aim to streamline invoice management and improve data integrity across the application.
2026-03-20 11:42:18 -05:00
cf56ca3a68 Enhance invoice processing and validation logic
- Updated `InvoiceService` to accurately reflect the number of line items in `party_count` for invoices.
- Modified weight calculations in the create and update validators to ensure consistent handling of weight types, now using lowercase comparison for "KGS".
- Adjusted invoice data structure in the frontend to include `total_items` and refined logistics handling.
- Improved table rendering in the invoice edit component for better sticky header behavior and item visibility.

These changes aim to improve data integrity and user experience in invoice management.
2026-03-19 14:22:21 -05:00
cc8a3582ba Merge branch 'development' into feature/catalog-importation 2026-03-18 13:40:33 -05:00
d37d6ef699 feature/catalog-importation 2026-03-18 08:28:20 -06:00
420901dd4e Add proportional quantity calculation and caching for line items in discharge ledger processing
- Introduced `_proportional_qty` function to calculate prorated quantities based on consumed amounts.
- Implemented caching for line items and import invoice numbers to optimize database queries during discharge ledger registration.
- Enhanced `register_discharge_ledger` function to utilize cached data for improved performance and reduced N+1 query issues.
- Updated discharge detail creation to include denormalized fields for reporting, such as net and gross weights, and customs information.
2026-03-18 08:24:46 -05:00
2a861e480c Enhance invoice and item processing with balance tracking features
- Added `company_id` to `ClientProviderAddress` and `ClientProviderPrograms` for better association.
- Updated `_process_with_discharge` to simplify invoice review by removing redundant parameters.
- Improved `pre_validators` to ensure address validation checks for existence before accessing country.
- Enhanced balance comparison logic in `compare_balances` by tracking consumed quantities.
- Modified `fill_available_balances` to reflect invoice status changes from 'UNPROCESSED' to 'PENDING'.
- Introduced `get_lines_with_balance` method in `ItemService` to fetch invoice lines with available balance.
- Added new API endpoint to retrieve import invoice lines with balance information.
- Updated frontend components to display available balances and improve user experience in invoice selection.
2026-03-18 00:55:17 -05:00
196525c684 Enhance invoice processing to support export and import differentiation
- 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.
2026-03-17 22:43:53 -05:00
5d9f4041e4 Add balance entry creation and void functionality for import invoices
- Introduced `create_balance_entries` function to generate `BalanceMovement` entries for each line item of a processed import invoice, ensuring accurate inventory balance tracking.
- Implemented `void_balance_entries` function to cancel open ENTRY movements by inserting corresponding ENTRY_VOID movements, with safeguards against already consumed lots.
- Enhanced transaction handling to maintain data integrity during invoice processing and reverting operations.
2026-03-17 21:09:01 -05:00
73462fcec3 Add ENTRY_VOID movement type and integrate balance entry creation in invoice processing
- Introduced a new movement type 'ENTRY_VOID' to handle invoice reversals, ensuring net balance remains zero.
- Updated the FaLineItem DTOs to replace 'download' with 'discharge' for consistency.
- Implemented balance entry creation in the invoice processing and reverting workflows, enhancing inventory management.
- Adjusted progress tracking messages to reflect the new balance entry generation steps.
2026-03-17 19:46:09 -05:00
3eacbf18f2 Refactor 'download' field to 'discharge' across models and services
- Renamed the 'download' field to 'discharge' in the FaLineItem model and updated related services and schemas accordingly.
- Adjusted frontend components to reflect the new 'discharge' terminology.
- Ensured consistency in filtering and validation logic across the application to use the updated field name.
2026-03-17 16:25:23 -05:00
AlexeerCT
6fa461991f Implement invoice revert functionality and enhance progress tracking
- Added a new route for reverting invoices in the A76 module.
- Updated the pre_validators to provide clearer error messages when processing invoices.
- Enhanced the PDF progress dialog to support step-by-step progress tracking for both invoice processing and reverting.
- Introduced a confirmation dialog for reverting invoices in the dashboard.
- Updated frontend components to handle the new revert functionality and display appropriate progress messages.
2026-03-15 22:34:11 -06:00
AlexeerCT
a4cf394447 Update Docker Compose files for production environment and enhance unit of measure handling
- Changed the default environment variable from 'development' to 'production' in docker-compose.prod.yml and docker-compose.yml.
- Added SITAR API credentials to the environment variables in both Docker Compose files.
- Updated the seed data for customs units of measure to include a76_unit_code.
- Refactored the UnitOfMeasureCustoms model and related DTOs to replace scaii_unit_code with a76_unit_code for consistency.
- Adjusted frontend components to reflect the updated unit of measure structure and ensure proper handling of the new a76_unit_code field.
2026-03-15 20:52:01 -06:00
e3d4686abe Update invoice processing terminology from 'who_updated' to 'who_processed'
- Renamed instances of 'who_updated' to 'who_processed' in the InvoiceService and related tasks to enhance clarity and consistency in invoice processing.
- Adjusted comments and documentation to reflect the updated terminology across various modules, ensuring alignment with recent changes in invoice status handling.
2026-03-13 13:02:35 -05:00
4f200de5ef Refactor invoice status terminology and update related logic
- 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.
2026-03-13 12:54:58 -05:00
326f4019a2 Refactor invoice processing fields and update related logic
- 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.
2026-03-13 12:36:41 -05:00
57a55c7f00 Enhance invoice processing features and update related models
- Improved invoice processing logic and added new validation checks.
- Updated `InvoiceHeader` and `InvoiceFinancials` models to support additional data fields.
- Refined API methods for better handling of invoice statuses and error responses.
- Cleaned up deprecated code related to previous invoice processing implementations.
2026-03-13 11:12:52 -05:00
ccd81d743e Add invoice processing functionality and enhance models and routes
- Introduced new routes for processing invoices in the router.
- Added `InvoiceStatus` enum to manage invoice states.
- Enhanced `InvoiceHeader` and `InvoiceFinancials` models with new fields for status tracking and total packages.
- Updated schemas to include new fields for invoice processing.
- Implemented API methods for processing invoices and checking process status in the frontend.
- Removed outdated validation files related to invoice processing.
2026-03-13 11:02:49 -05:00
0416264fe9 Merge pull request 'feature/items-validations' (#199) from feature/items-validations into development
Reviewed-on: ADUANASOFT/anexo76#199
2026-03-11 16:10:31 +00:00
hreyes
663d419ab8 Merge branch 'development' into feature/partidas-clarion-csv-validaciones-expo 2026-03-10 12:44:34 -06:00
2f5972bf74 Refactor item validation and calculation logic
- 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.
2026-03-10 12:21:55 -05:00
c2d691a4ad feat: Enhance invoice validation and calculations
- 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.
2026-03-10 11:29:38 -05:00
hreyes
09e20fb109 feature/clarion-validaciones-invoices-csv-headers-comp-mex 2026-03-09 14:34:54 -06:00
d91af9a7fb Refactor invoice validation logic and introduce export validators
- 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.
2026-03-07 22:17:34 -06:00
40c2cc4f32 refactor: update validation logic and enhance seed data script 2026-03-04 19:13:05 -06:00
e1f494fd18 refactor estructure 2026-03-03 16:13:05 -06:00
hreyes
6026132db3 Merge origin/development: resolved conflicts in scripts/init_first_time.sh, backend/api/v1/modules/a76/invoices/services.py, .gitignore and others 2026-02-27 11:46:16 -07:00
Galindo97
3898d3a1e0 feat: Enhance fixed asset class management with new fields, refactor forms, and update invoice-related services. 2026-02-24 08:17:38 -06:00
hreyes
cde583315b Merge development 2026-02-23 13:12:49 -06:00
hreyes
0683aaa801 feature/csv-for-envoices 2026-02-23 13:05:02 -06:00
Galindo97
af99e43ee5 Merge remote-tracking branch 'origin/development' into feature/Invoice-movements
# Conflicts:
#	backend/api/v1/modules/a76/reports/importacion/facturas/usa/service.py
#	backend/core/celery_app.py
#	frontend/src/lib/api/dashboard/a76/general_catalogs/company.ts
2026-02-20 10:09:19 -06:00
Galindo97
7b704e0744 feat: fix R1 pedimento duplication and improve invoice report exports
- 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.
2026-02-20 10:00:22 -06:00
15f6f488bf Merge remote-tracking branch 'origin/development' into feature/trasnferencia_mainx30 2026-02-20 09:31:13 -06:00
Galindo97
f19f051e59 Merge branch 'development' into feature/Invoice-movements 2026-02-18 10:20:45 -06:00
b94d0ac7fb refactor: restructure item interfaces and update related components
- 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.
2026-02-18 09:56:50 -06:00
5ca98ad0bc fix: correct logic for handling remesa and package quantity validation in invoice updates 2026-02-16 09:49:23 -06:00
50aa87b2aa fix: correct logic for handling pedimento_id in invoice update validation 2026-02-13 17:04:03 -06:00
41c9eaf64d Modulo de creacion de formato dat con MAINX30 en exportacion 2026-02-13 12:35:18 -06:00
1e8f56a438 Merge branch 'development' into feature/SSR-views 2026-02-13 08:13:35 -06:00
287a194910 Merge branch 'development' into feature/items-validation 2026-02-12 17:04:13 -06:00