- Changed VITE_API_SERVER_URL from http://192.168.0.104:3002/api/v1 to http://172.31.142.243:3002/api/v1 in .env.development file.
- Added 'invoice_reference' to the FULLTEXT index fields in sequelize-issued-invoice.model.ts for improved search capabilities.
- Added a new document detailing the design and information presentation for recurring proformas.
- Implemented CreateRecurringProformaFromProformaDialog component for creating recurring proformas from existing proformas.
- Added unit tests for the new dialog and its integration within the proforma detail page.
- Created API functions for handling the creation of recurring proformas.
- Developed hooks to manage the creation process and invalidate relevant queries upon success.
- Enhanced recurring proforma detail page to display relevant information and actions.
- Added utility functions for formatting recurring proforma schedules.
- Introduced layout components for better organization of recurring proforma UI.
- Implemented ProformaDuplicator service for duplicating proforma documents.
- Added tests for duplicating proformas, including scenarios for successful duplication, audit failure propagation, and payment term adaptations.
- Created ProformaStatusChanger service to handle status changes of proformas with corresponding tests.
- Developed ProformaArchiver service for unarchiving proformas and added tests to verify functionality.
- Introduced a test fixture for creating proforma instances for testing purposes.
- Add utility functions for managing audit page state including parsing, serialization, and updates.
- Introduce audit period resolution logic to handle various time frames.
- Create API functions for finding and searching audit entries with appropriate DTOs and mappers.
- Implement hooks for fetching audit entries and lists, integrating with the data source.
- Add tests for utility functions, API calls, and mappers to ensure correctness.
- Establish shared entities and DTOs for consistent data handling across the module.
- Set up TypeScript configuration for the audit module.
- Added @repo/rdx-audit as a dependency to the suppliers module.
- Implemented audit recording in SupplierCreator and SupplierUpdater services.
- Created supplier-audit module to handle audit actions and state transformations.
- Updated supplier aggregate to reflect changes in update method return type.
- Added integration tests for supplier audit functionality, ensuring correct audit records are created on supplier creation and updates.
- Refactored dependency injection to include audit service in supplier-related use cases.
- Added @repo/rdx-audit as a dependency in server and catalogs package.json.
- Enhanced payment method services (creator, updater, deleter, status changer, and default setter) to include audit logging.
- Implemented audit actions for create, update, enable, disable, delete, and default set/ unset operations.
- Created payment-method-audit.ts for managing audit actions and state projections.
- Developed integration tests for payment method audit logging in the HTTP context.
- Removed `system_key` from payment method model and related files.
- Updated payment method repository and services to eliminate references to `system_key`.
- Deleted the BootstrapSystemPaymentMethodsService and its use case, as they are no longer needed.
- Adjusted tests to reflect the removal of system payment methods and their associated logic.
- Added SQL script to drop the `system_key` column and its unique index from the database.
- Updated GetIssuedInvoiceByIdResult to include verifactu as nullable.
- Introduced new fiscal classification and verifactu policy interfaces in issued-invoice.entity.ts.
- Added new UI components for displaying issued invoice details, including sections for document, fiscal, items, payment, recipient, summary, taxes, totals, and verifactu.
- Implemented skeleton loading state for issued invoice detail page.
- Created tests for issued invoice detail page to ensure proper rendering and error handling.
- Updated pnpm workspace configuration to disallow builds for specific packages.
- Add GetProformaIssuanceReadinessUseCase to check proforma issuance readiness.
- Create GetProformaIssuanceReadinessController to handle requests and responses.
- Introduce request and response DTOs for proforma issuance readiness.
- Develop tests for the use case and controller to ensure functionality.
- Implement adapter and hooks for integrating issuance readiness in the web application.
- Create UI components for displaying issuance readiness alerts and help popover.
- Add utility functions for translating blocker messages and details.
- Introduced `es.json` for Spanish translations in account management.
- Created account routes and controllers for managing user accounts.
- Implemented hooks and API calls for fetching and updating account profiles.
- Developed forms and validation schemas for account profile and password management.
- Added error handling and feedback mechanisms for account actions.
- Built UI components for account settings page, including password change dialog.
- Integrated translations for new UI components and error messages.
- Added services and use cases for managing account details, including changing passwords and updating profiles.
- Introduced error handling for duplicate emails and password mismatches.
- Created controllers for handling account-related requests in the Express framework.
- Updated API routes to include new account management endpoints.
- Enhanced the account profile schema to support email updates.
- Implemented tests for account management functionalities to ensure reliability and correctness.
- Add UpdateCurrentCompanyUseCase to handle company updates.
- Create update-current-company.controller.ts to manage update requests.
- Implement validation and mapping for update requests using Zod.
- Add tests for the update use case and controller to ensure functionality.
- Introduce error handling and feedback state management for company details settings.
- Create utility functions for error normalization and feedback state resolution.
- Implement tests for error handling and feedback state utilities.
- Ensure nullable fields are handled correctly in DTOs and forms.
- Implemented `evaluateProformaCustomerChange` function to assess changes in customer details for proforma invoices.
- Introduced types for customer change details, blockers, field differences, and fiscal targets.
- Added utility functions for normalizing text and formatting recipient information.
test: add unit tests for customer payment resolver
- Created tests for `CustomerPaymentResolver` to validate payment term retrieval and handling of inactive terms.
- Ensured proper behavior when clearing payment terms and handling non-existent terms.
test: add unit tests for customer default payment term resolver
- Developed tests for `CustomerDefaultPaymentTermResolver` to verify default payment term resolution logic.
- Included scenarios for creating customers with and without explicit payment term IDs.
feat: implement customer default payment term resolver
- Created `CustomerDefaultPaymentTermResolver` to manage default payment term resolution during customer creation.
- Integrated with company finder and payment resolver services.
test: add unit tests for create customer use case
- Implemented tests for `CreateCustomerUseCase` to ensure correct handling of payment term IDs during customer creation.
- Validated behavior when no explicit payment term ID is provided.
test: add unit tests for update customer use case
- Developed tests for `UpdateCustomerUseCase` to verify payment term handling during customer updates.
- Ensured that inactive payment terms are not assigned and that explicit null values are respected.
feat: add dependency injection for customer company services
- Implemented DI for customer company dependencies to facilitate service resolution.
test: add tests for customer create data utility
- Created tests for `buildCustomerCreateData` to validate payment term handling based on user input.
- Implemented PaymentTermRowActions component for editing, toggling, and deleting payment terms.
- Created PaymentTermSegmentedBar for visual representation of payment term segments.
- Added PaymentTermsEmptyState and PaymentTermsNoResultsState for handling empty and no results scenarios.
- Developed PaymentTermsSettingsSkeleton for loading state representation.
- Introduced utility functions for building payment term forms and parameters.
- Added criteria building functions for payment terms list filtering.
- Implemented error handling view model for payment terms settings page.
- Created tests for payment terms list criteria and due rules utilities.
- Added shell script to check development environment setup.
- Added validation to ensure payment term percentage is greater than 0 and does not exceed 100.
- Introduced `PaymentTermUsageChecker` to check for references before deletion.
- Updated `PaymentTerm` aggregate to track if due rules were updated.
- Enhanced repository methods to handle due rules correctly during updates and deletions.
- Added tests for payment term services and aggregate to ensure correct behavior.
- Implemented unique constraint on due days in the database model.
- Add entities for tax regime forms and error view models.
- Create schemas for tax regime forms using Zod for validation.
- Implement UI components for creating, deleting, and managing tax regimes.
- Develop hooks for CRUD operations on tax regimes, including create, update, delete, and enable/disable functionalities.
- Add error handling and loading states for better user experience.
- Create utility functions for building form data and handling API responses.
- Implement skeleton and empty state components for improved UI feedback.
- Added Spanish translations for home page components.
- Created API endpoints for fetching home-related data (customers, proformas, issued invoices).
- Developed hooks for managing home page data queries.
- Implemented home page layout with KPI cards, attention panels, monthly billing summary, and recent activity sections.
- Added error handling and loading states for improved user experience.
- Implemented `usePaymentMethodUpdateMutation` for updating payment methods with validation.
- Created settings controllers and hooks for managing payment methods.
- Added UI components for creating, editing, deleting, and displaying payment methods.
- Introduced error handling and feedback mechanisms for payment method operations.
- Developed form schemas and utility functions for handling payment method data.
- Established a new settings page for managing payment methods with appropriate loading and error states.
- Implemented API for updating company Verifactu profile.
- Created entities for company Verifactu profile and defaults.
- Developed hooks for querying and updating the company Verifactu profile.
- Added UI components for displaying and editing company Verifactu settings.
- Introduced validation and error handling for profile updates.
- Created utility functions for building form data and handling feedback states.
- Added tests for utility functions and error handling.
- Implemented IssuedInvoiceDetailPage component with loading and error states.
- Created utility functions for building issued invoice detail actions and view models.
- Added API adapter for fetching issued invoice details by ID.
- Developed hooks for managing issued invoice queries.
- Introduced new entities and types for issued invoices, including items, taxes, and recipient details.
- Added tests for view models and API adapters to ensure correctness.
- Organized code structure by creating separate files for components, utilities, and hooks.
- Refactor QuickCustomerCreateResult to extend CustomerSelectionOption for better integration.
- Update index exports to include new controller and UI components for quick customer creation.
- Enhance buildCreateCustomerParamsFromQuickForm utility to support additional context defaults.
- Create QuickCustomerCreateFormSchema for validation of quick create form fields.
- Develop QuickCreateCustomerDialog component for user interaction.
- Implement useQuickCreateCustomerFlow hook to manage dialog state and submission logic.
- Add tests for form schema validation and parameter building utilities.
- Document the quick create customer feature for public API usage.
feat: implement RdxEditor components including layout, section, and sticky footer with tests
feat: introduce RdxFormGrid for form layout management
feat: create RdxPage components for structured page layout with actions and headers
feat: add RdxRowActions for handling row-level actions with dropdown support
- Implemented feedback state resolution for proforma list and update pages.
- Created error view models for proforma and customer updates, including handling for various error types.
- Added tests for error handling in proforma and customer list updates.
- Introduced utility functions for building error view models and resolving feedback states.
- Ensured translation support for error messages in Spanish.
- Removed duplicate error alert components in customer module.
- Introduced ProformaDetailContent, ProformaDetailHeader, ProformaDetailInspector, ProformaDocumentPane, ProformaGeneralPanel components for displaying detailed proforma information.
- Created various sections including ProformaCommercialSection, ProformaContentSection, ProformaCustomerSection, ProformaDatesSection, ProformaFiscalSection, ProformaLinkedInvoiceSection, and ProformaSummarySection to organize proforma details.
- Implemented utility functions to build proforma detail actions and view models, enhancing the management of proforma states and actions.
- Added translations and improved accessibility features across components.
* Se eliminaron `SequelizeProformaTaxesDomainMapper` y los archivos relacionados.
* Se eliminaron `SequelizeInvoiceRecipientSummaryMapper` y `SequelizeProformaSummaryMapper`.
* Se eliminó `ProformaRepository` y sus métodos asociados.
* Se limpiaron los servicios sin uso, incluido `SequelizeProformaNumberGenerator`.
* Se actualizaron las importaciones y exportaciones de los módulos relacionados para reflejar la eliminación del código heredado.
* Se ajustaron las plantillas para eliminar las referencias a `is_proforma`.
* Se modificó el DTO de la solicitud para excluir el campo `is_proforma`.
- Se han añadido `document_series_id`, `invoice_series_code` e `invoice_reference` a los modelos y instantáneas de facturas emitidas.
- Se han introducido `proforma_series_code` y `proforma_number`, y se han actualizado las referencias en los modelos y instantáneas de las facturas proforma.
- Se han actualizado los esquemas de la base de datos y los scripts SQL para dar cabida a los nuevos campos y garantizar la integridad de los datos.
- Se ha elaborado la documentación correspondiente a las nuevas series de documentos «contrato de instantánea» y «contrato de serie de facturas emitidas».
- Se han implementado scripts SQL de rellenado para completar los registros existentes con los nuevos campos.
- Simplified the ProformaDetailPage by extracting various components into separate files for better maintainability and readability.
- Introduced ProformaDetailHeaderActions for managing header actions.
- Created ProformaDetailPreviewCard for displaying the PDF viewer.
- Added ProformaDetailSidebar to encapsulate billing and date information.
- Implemented ProformaDetailSummaryCard to summarize billing, dates, and notes.
- Enhanced ProformaDetailInspectorCard for consistent card layout across different sections.
- Updated formatting functions for date and money to improve code reuse.
- Removed redundant code and improved overall structure for better clarity.
- Exported detail components in proformas index.
- Enhanced proforma grid with view action.
- Implemented navigation to proforma detail page.
- Created proforma detail controller for data fetching and actions.
- Developed proforma detail page with various inspector cards for displaying information.
- Added reusable ProformaPageHeader component for consistent header layout.
- Introduced FieldValueList component for displaying key-value pairs.
- Implemented PDFViewer component for previewing proforma PDFs.
- Added new StatusBadge and StatusOptionCard components for better status representation.
- Integrated status selection and change functionality in ChangeProformaStatusDialog.
- Improved ProformasGrid to support metadata and selection actions.
- Implemented bulk actions for proforma selection, including status change and deletion.
- Updated DataTable components to support custom selection actions.
- Enhanced ProformaStatusBadge to include specific styles for each status.
- Implemented `countByStatusInCompany` method in `SequelizeProformaRepositoryV2` and `ProformaRepository` to count proformas by status.
- Introduced `ProformaStatusCounts` type and `EMPTY_PROFORMA_STATUS_COUNTS` constant for managing status counts.
- Updated the `ProformasGrid` and `IssuedInvoicesGrid` components to support searching and fetching states.
- Enhanced the UI to display status counts in the segmented filter for proformas.
- Refactored the proforma list and issued invoices page to include search input and status filters with loading states.
- Added new entities and adapters for handling proforma status counts in the application layer.
- Added endpoint for retrieving deleted proformas with logical deletion.
- Updated proforma listing to support active, archived, and deleted scopes.
- Refactored repository and service layers to accommodate new proforma list scope.
- Enhanced UI to display separate views for active, archived, and deleted proformas.
- Updated localization files to reflect changes in proforma management.
- Improved query handling to filter proformas based on their status and scope.
- Updated proforma listing behavior to utilize `Criteria filters[]` for managing archived and active proformas.
- Removed `archived` query parameter from backend; frontend now manages `archiveView` state.
- Implemented new filters for `archived_at` and `status` in the proforma listing API.
- Adjusted proforma creation and deletion contracts to reflect changes in archiving logic.
- Introduced new utility functions for building proforma listing criteria based on UI state.
- Updated frontend components to support new filtering options and maintain state in the URL.
- Added SQL index for improved performance on proforma queries.
- Created new TypeScript types for managing proforma list filters and criteria.
- Add UpdateDocumentSeriesController for updating document series.
- Create documentSeriesApiErrorMapper for error handling.
- Define document series routes including CRUD operations.
- Implement Sequelize-based persistence layer for document series.
- Add DTOs for request and response schemas for document series operations.
- Establish common structures for document series data handling.
- Configure TypeScript settings for the document series module.