- 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.
- Updated general requirements document to clarify its historical context and remove outdated technical details.
- Revised template documentation to serve as a base for writing prompts, emphasizing its auxiliary nature.
- Enhanced architecture documentation with clear distinctions between canonical and complementary documents.
- Added a new document for backend prompt base to centralize common context for backend prompts.
- Created a dedicated README for customer invoices, organizing current contracts, operational support, and historical context.
- Improved clarity and structure in various customer invoice documents, consolidating operational semantics and referencing canonical sources.
- 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.