diff --git a/CHANGELOG.md b/CHANGELOG.md
index fbe18a10ab4..58b68b7fa08 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,1519 +1,1804 @@
+# Version 25.06 - 2025-02-18
+
+### Added ๐Ÿ†•
+
+- chore: refs #7405 remove examples documentation by:jorgep
+- chore: refs #7405 remove VitePress cache files and update .gitignore by:jorgep
+- chore: refs #8316 remove search and searchInfo entries from shelving in English and Spanish locales by:jtubau
+- feat: #8258 added hover and description to uppercase button by:PAU ROVIRA ROSALENY
+- feat: add addressFk by:Javier Segarra
+- feat: add inactive car icon by:jorgep
+- feat: downgrade pnpm by:Javier Segarra
+- feat: new command by:Javier Segarra
+- feat: refs #6629 addressObservation by:robert
+- feat: refs #6629 change values by:robert
+- feat: refs #6629 customerAddressEdit by:robert
+- feat: refs #6629 delete consolelog by:robert
+- feat: refs #6629 traduction message by:robert
+- feat: refs #6629 update by:robert
+- feat: refs #6822 by:robert
+- feat: refs #6822 change request by:robert
+- feat: refs #6822 change traduction Partial delay (origin/6822-changeTitlePartialDelay) by:robert
+- feat: refs #6822 redirection by:robert
+- feat: refs #6943 addressPropagate by:Javier Segarra
+- feat: refs #6943 updateAndEmit param as object by:Javier Segarra
+- feat: refs #7065 created unit tests for UserPanel by:provira
+- feat: refs #7068 created VnVisibleColumns unit test by:Jon
+- feat: refs #7103 created test for VnSearchbar by:provira
+- feat: refs #7134 #7124 handle columns by:Javier Segarra
+- feat: refs #7134 #7124 handle filter by:Javier Segarra
+- feat: refs #7134 #7134 Create new route by:Javier Segarra
+- feat: refs #7134 #7134 Create SupplierBalance layout by:Javier Segarra
+- feat: refs #7134 #7134 split newPayment by:Javier Segarra
+- feat: refs #7134 add bank by:Javier Segarra
+- feat: refs #7134 apply supplierBalanceFilter by:Javier Segarra
+- feat: refs #7134 default currency parameter by:Javier Segarra
+- feat: refs #7134 minor changes by:Javier Segarra
+- feat: refs #7134 order by:Javier Segarra
+- feat: refs #7134 perf VnTable by:Javier Segarra
+- feat: refs #7134 remove add btn by:Javier Segarra
+- feat: refs #7134 unremovableParams by:Javier Segarra
+- feat: refs #7134 use tableFooter by:Javier Segarra
+- feat: refs #7134 use VnAccountNumber by:Javier Segarra
+- feat: refs #7134 vnTable setTableFooter by:Javier Segarra
+- feat: refs #7184 added myTeam filter at WorkerFilter by:Jon
+- feat: refs #7196 update vite and q-calendar by:alexm
+- feat: refs #7305 deleted warnings by:Jon
+- feat: refs #7308 remove warning by:Javier Segarra
+- feat: refs #7317 deleted warnings in fiscalData and dms by:Jon
+- feat: refs #7322 add address selection for ticket transfer by:jtubau
+- feat: refs #7405 add initial documentation and components for Lilium by:jorgep
+- feat: refs #7405 add navigation links and documentation for useArrayData composable by:jorgep
+- feat: refs #7826 add error handling and refresh icon to NavBar by:Javier Segarra
+- feat: refs #8077 change request by:robert
+- feat: refs #8077 changes request by:robert
+- feat: refs #8077 sumDefaulter by:robert
+- feat: refs #8120 added new style to summary popups by:Jon
+- feat: refs #8120 use new prop in the requierd modules by:Jon
+- feat: refs #8197 create advancedMenu and add in VnSection by:alexm
+- feat: refs #8316 added order param by:jtubau
+- feat: refs #8316 add slots on VnTable from VnFilterPanel by:alexm
+- feat: refs #8316 parking inside shelving by:alexm
+- feat: refs #8322 added RouteRoadmap and Agency by:provira
+- feat: refs #8322 fix route.js and unify with /agency by:alexm
+- feat: refs #8322 fix route.js and unify with /roadmap by:alexm
+- feat: refs #8339 define global.spreview by:Javier Segarra
+- feat: refs #8381 add carrier field to travel thermographs and update localization by:jgallego
+- feat: refs #8387 changes by:robert
+- feat: refs #8387 changes request by:robert
+- feat: refs #8387 crudModel by:robert
+- feat: refs #8387 refs#8387 change request by:robert
+- feat: refs #8395 added computed to calculate and display amounts by:provira
+- feat: refs #8395 added total column in invoiceInVat by:provira
+- feat: refs #8398 modify previous changes by:robert
+- feat: refs #8398 moveTicketsFuture by:robert
+- feat: refs #8409 added VnSelectSupplier by:Jon
+- feat: refs #8410 added new feature to module searchbar by:provira
+- feat: refs #8418 add data-cy attribute for print labels button in EntryBuysTableDialog by:jtubau
+- feat: refs #8450 added new version by:Jon
+- feat: toCurrency in risk icon by:Javier Segarra
+- feat: update quasar version by:Javier Segarra
+- feat: update vitest to 1.0 by:Javier Segarra
+- feat: update vue to 3.5 by:Javier Segarra
+- style: customerDescriptor by:Javier Segarra
+- style: refs #6943 order imports by:Javier Segarra
+
+### Changed ๐Ÿ“ฆ
+
+- feat: refs #7134 perf VnTable by:Javier Segarra
+- perf: pnpm-lock by:Javier Segarra
+- perf: refs #7134 #7134 changes by:Javier Segarra
+- perf: refs #7134 #7134 fix filter panel by:Javier Segarra
+- perf: refs #7134 #7134 global dialog newPayment and composable getRisk by:Javier Segarra
+- perf: refs #7134 currencies fetch by:Javier Segarra
+- perf: refs #7134 format columns by:Javier Segarra
+- perf: refs #7134 imports by:Javier Segarra
+- perf: refs #7134 use ForModelPopup by:Javier Segarra
+- perf: refs #7134 use map-key by:Javier Segarra
+- perf: refs #7134 use where to get only EUR currency by:Javier Segarra
+- perf: refs #7196 update eslint by:alexm
+- perf: refs #7308 call 1 time useSession by:Javier Segarra
+- perf: refs #7826 code onError by:Javier Segarra
+- perf: refs #7826 improve condition by:Javier Segarra
+- perf: refs #8197 default is object by:alexm
+- perf: refs #8197 fix and imrpove filters by:alexm
+- perf: refs #8197 perf by:alexm
+- perf: refs #8339 minor changes by:Javier Segarra
+- perf: refs #8339 removew preview tag by:Javier Segarra
+- perf: use util in OutLayout by:Javier Segarra
+- perf: vitest to 0.34.0 by:Javier Segarra
+- refactor: advancedMenu button inside searchbar by:alexm
+- refactor: move remaining data to descriptorMenu by:Jon
+- refactor: refs #6822 transferEntry moved to descriptor menu by:robert
+- refactor: refs #7068 adjust variables by:Jon
+- refactor: refs #7068 requested changes by:Jon
+- refactor: refs #7317 requested changes by:Jon
+- refactor: refs #7322 extract repeated functions and create tests by:jtubau
+- refactor: refs #7322 update API functions to accept filters for enhanced data retrieval by:jtubau
+- refactor: refs #7322 update getAgencies to handle client and return default agency by:jtubau
+- refactor: refs #8120 change prop and classes' names by:Jon
+- refactor: refs #8120 requested changes by:Jon
+- refactor: refs #8120 use only defineProps by:Jon
+- refactor: refs #8316 added shelvingCardBeta and localizations by:jtubau
+- refactor: refs #8316 add new localization keys and update existing ones for invoiceIn components by:jtubau
+- refactor: refs #8316 add new localization keys and update existing ones for invoiceOut components by:jtubau
+- refactor: refs #8316 moved userFilter to array-data-props by:jtubau
+- refactor: refs #8316 remove invoiceInSearchbar by:alexm
+- refactor: refs #8316 remove unused ItemTypeSearchbar component by:jtubau
+- refactor: refs #8316 restore exprBuilder function to filter invoice data by:jtubau
+- refactor: refs #8316 restore filter for supplier and related entities in InvoiceInCard by:jtubau
+- refactor: refs #8316 unify router item and itemType by:alexm
+- refactor: refs #8316 update prefix casing for InvoiceIn component by:jtubau
+- refactor: refs #8316 update Spanish translations for ItemsFilterPanel by:jtubau
+- refactor: refs #8316 used VnSection and VnBetaCard by:jtubau
+- refactor: refs #8316 used VnSection and VnCardBeta by:jtubau
+- refactor: refs #8316 used VnSection and VnCardBeta on ItemCard by:jtubau
+- refactor: refs #8322 changed Route component to use VnSection/VnCardBeta by:provira
+- refactor: refs #8322 changed Travel component to use VnSection/VnCardBeta by:provira
+- refactor: refs #8351 deleted skip and fixed TicketList e2e by:Jon
+- refactor: refs #8351 put appropriate name by:Jon
+- refactor: refs #8380 remove unnecessary stubs in VnImg test wrapper by:jtubau
+- refactor: refs #8381 update travel data handling in TravelThermographs component by:jgallego
+- refactor: refs #8409 deleted unused variable by:Jon
+- refactor: refs #8409 use defineModel instead or defineProps by:Jon
+- refactor: refs #8410 restructured code by:provira
+- refactor: refs #8418 remove commented issue reference from myEntry.spec.js by:jtubau
+- refactor: refs #8418 update data-cy attribute for print labels button in EntryBuysTableDialog by:jtubau
+- refactor: refs #8418 update selector to use cy.dataCy instead cy.get by:jtubau
+- refactor: request changes by:Jon
+
+### Fixed ๐Ÿ› ๏ธ
+
+- feat: refs #8322 fix route.js and unify with /agency by:alexm
+- feat: refs #8322 fix route.js and unify with /roadmap by:alexm
+- fix: added witdth when opening summary by:Jon
+- fix: defineProps not import by:alexm
+- fix: deleted duplicate request by:Jon
+- fix: fixed descriptor e2e by:Jon
+- fix: fixed InvoiceOutList e2e by:Jon
+- fix: fixed list and e2e by:Jon
+- fix: fixed pagiante by:Jon
+- fix: fixed rectificative class by:Jon
+- fix: fixed states column in claim list and filter by:Jon
+- fix: fixed VnLocation and warnings by:Jon
+- fix: fixed wagons e2e (origin/Fix-WagonModuleE2E) by:Jon
+- fix: fix grid two by:carlossa
+- fix: improve method (origin/warmfix_reload_scriptIsMissing) by:Javier Segarra
+- fix: init by:Javier Segarra
+- fix: minor cli error by:Javier Segarra
+- fix: modified front to show new field by:Jon
+- fix: move dialog to descriptorMenu by:Jon
+- fix: refs #6553 clean pr by:carlossa
+- fix: refs #6553 fix BeforeMount filters by:carlossa
+- fix: refs #6553 fix front and translations by:carlossa
+- fix: refs #6553 fix pr by:carlossa
+- fix: refs #6553 fix PR, fix vnTableCard by:carlossa
+- fix: refs #6553 fix qScrollArea by:carlossa
+- fix: refs #6553 fix summary by:carlossa
+- fix: refs #6553 fix user-filter by:carlossa
+- fix: refs #6553 fix vnTable by:carlossa
+- fix: refs #6553 fix vnTable css by:carlossa
+- fix: refs #6553 front advanced by:carlossa
+- fix: refs #6553 front by:carlossa
+- fix: refs #6553 label css by:carlossa
+- fix: refs #6553 onBeforeMount by:carlossa
+- fix: refs #6943 minor changes by:Javier Segarra
+- fix: refs #6943 redirect when change addressId by:Javier Segarra
+- fix: refs #6943 required by:Javier Segarra
+- fix: refs #7065 made consts for repeated values by:provira
+- fix: refs #7065 removed unnecessary code by:provira
+- fix: refs #7103 removed unused code on spies by:provira
+- fix: refs #7103 updated tests for new changes by:provira
+- fix: refs #7103 used consts for repeated variables by:provira
+- fix: refs #7134 getRiskComposable by:Javier Segarra
+- fix: refs #7134 minor change by:Javier Segarra
+- fix: refs #7134 params filter by:Javier Segarra
+- fix: refs #7134 remove risk by:Javier Segarra
+- fix: refs #7134 remove supplierRisk by:Javier Segarra
+- fix: refs #7134 solve comments by:Javier Segarra
+- fix: refs #7196 not neccessary by:alexm
+- fix: refs #7196 sass by:alexm
+- fix: refs #7322 handle null responses in client, agency and address fetching by:jtubau
+- fix: refs #7826 init by:Javier Segarra
+- fix: refs #8120 ticket descriptor & summary by:Jon
+- fix: refs #8172 Remove unused row and column fields from ParkingBasicData by:guillermo
+- fix: refs #8197 improve code robustness by adding optional chaining and fixing syntax errors by:alexm
+- fix: refs #8197 use rightMenu by:alexm
+- fix: refs #8197 use RightMenu in subsections by:alexm
+- fix: refs #8227 clean pr (origin/8227-warmfixRoute) by:carlossa
+- fix: refs #8227 fix front descriptor, Form by:carlossa
+- fix: refs #8227 warmfix by:carlossa
+- fix: refs #8316 advanced-menu by:alexm
+- fix: refs #8316 filter by:alexm
+- fix: refs #8316 fix broken localizations for entry descriptor menu and items filter panel by:jtubau
+- fix: refs #8316 icon by:alexm
+- fix: refs #8316 redirections by:alexm
+- fix: refs #8316 translations by:alexm
+- fix: refs #8316 user-filter by:alexm
+- fix: refs #8322 add userFilter by:alexm
+- fix: refs #8322 filter and params by:alexm
+- fix: refs #8322 fixed route creation url by:provira
+- fix: refs #8322 moved filter inside array-data-props by:provira
+- fix: refs #8322 use userFilter by:alexm
+- fix: refs #8347 remove skip, fix unpaid by:carlossa
+- fix: refs #8352 fix datacy by:carlossa
+- fix: refs #8352 fix right by:carlossa
+- fix: refs #8352 fix rightPanel vnLog by:carlossa
+- fix: refs #8381 update travel data fetching to use correct URL and include necessary fields by:jgallego
+- fix: refs #8381 update travel data reference in TravelThermographs component by:jgallego
+- fix: refs #8395 update label for total column by:provira
+- fix: refs #8409 deleted code due to merge by:Jon
+- fix: refs #8409 deleted code of merge by:Jon
+- fix: refs #8410 removed ref from searching boolean by:provira
+- fix: refs #8410 removed unused code by:provira
+- fix: refs #8410 removed unused condition by:provira
+- fix: refs #8410 removed unused ref by:provira
+- fix: refs #8410 simplified searchModule function by:provira
+- fix: refs #8418 adjusted route for button click by:jtubau
+- fix: refs #8418 correct casing in translation keys for supplier reference and issued date labels by:jtubau
+- fix: refs #8419 modified list and fixed e2e by:Jon
+- fix: refs #8420 ensure search bar is visible before typing and enable details test by:jtubau
+- fix: refs #8422 fixed ItemTag e2e test not working by:provira
+- fix: refs #8422 optimized get and dataCy by:provira
+- fix: refs #8423 fixed zoneWarehouse e2e test not working by:provira
+- fix: refs #8423 removed data-cy usage by:provira
+- fix: refs #8423 used dataCy to get data-cy by:provira
+- fix: refs #8524 parking section router by:alexm
+- fix: refs #8524 parking test (origin/8524-devToTest, 8524-devToTest) by:alexm
+- fix: remove console by:Javier Segarra
+- fix: replace labels by:Javier Segarra
+- fix: rightAdvancedMenu by:alexm
+- fix: routeCard use customUrl by:alexm
+- fix: show descriptors when click on it by:Javier Segarra
+- fix: update query parameters for thermograph routing by:jgallego
+- fix: update selector for buyLabel button in myEntry.spec.js (origin/fix-myEntryTest) by:jtubau
+- fix: update setupNodeEvents to use async/await for plugin import by:jgallego
+- fix: use model by:alexm
+- fix: use rightMenu by:alexm
+- fix(VnSection): destroy data when unmounted by:alexm
+- fix(VnSection): refs #8197 check route by:alexm
+- fix(WorkerBusiness): fix card label by:alexm
+- fix: workerSummary by:alexm
+- perf: refs #7134 #7134 fix filter panel by:Javier Segarra
+- perf: refs #8197 fix and imrpove filters by:alexm
+- refactor: refs #8316 update prefix casing for InvoiceIn component by:jtubau
+- refactor: refs #8351 deleted skip and fixed TicketList e2e by:Jon
+- refs #6553 fix business slot by:carlossa
+- refs #6553 fix business summary by:carlossa
+- refs #6553 fix business summary traductions by:carlossa
+- refs #6553 fix front ibject by:carlossa
+- refs #6553 fix front trad by:carlossa
+- refs #6553 fix names by:carlossa
+- refs #6553 fix reactivateWorker by:carlossa
+- refs #6553 fix relations by:carlossa
+- refs #6553 fix VnTable by:carlossa
+- refs #7917 fix routeCard by:carlossa
+- revert: refs #7134 change by:Javier Segarra
+- revert: refs #7134 customer changes by:Javier Segarra
+- revert: vitest to 0.31.1 by:Javier Segarra
+- test: fix clientList spec by:Javier Segarra
+- test: fix component by:Javier Segarra
+- test: fix VnSearchbar by:alexm
+- test: refs #6943 fix tests by:Javier Segarra
+- test: refs #7308 fix axios.spec.js by:Javier Segarra
+- test: refs #8524 fix by:alexm
+
 # Version 25.04 - 2025-01-28
 
 ### Added ๐Ÿ†•
 
-- chore: add task comment  by:jorgep
-- chore: refs #8198 rollback  by:jorgep
-- chore: refs #8322 unnecessary prop  by:alexm
-- feat: refs #7055 added new test case  by:provira
-- feat: refs #7055 created FilterItemForm test  by:provira
-- feat: refs #7077 created test for VnInputTime  by:provira
-- feat: refs #7078 created test for VnJsonValue  by:provira
-- feat: refs #7087 added more test cases  by:provira
-- feat: refs #7087 added new test  by:provira
-- feat: refs #7087 created CardSummary test  by:provira
-- feat: refs #7088 created test for FetchedTags  by:provira
-- feat: refs #7202 added new field  by:Jon
-- feat: refs #7882 Added coords to create a address  by:guillermo
-- feat: refs #7957 add tooltip and i18n support for search link in VnSearchbar component  by:jorgep
-- feat: refs #7957 enhance search functionality and improve data filtering logic  by:jorgep
-- feat: refs #7957 open in new tab  by:jorgep
-- feat: refs #7957 simplify fn to  by:jorgep
-- feat: refs #7957 update VnSearchbar component with improved search URL handling and styling enhancements  by:jorgep
-- feat: refs #8117 filters and values added as needed  by:jtubau
-- feat: refs #8197 useHasContent and use in VnSection and RightMenu  by:alexm
-- feat: refs #8219 added invoice out e2e tests  by:Jon
-- feat: refs #8219 global invoicing e2e  by:Jon
-- feat: refs #8220 added barcodes e2e test  by:Jon
-- feat: refs #8220 created items e2e  by:Jon
-- feat: refs #8220 modified create item form and added respective e2e  by:Jon
-- feat: refs #8225 added account and invoiceOut modules  by:Jon
-- feat: refs #8225 added entry module and fixed translations  by:Jon
-- feat: refs #8225 added invoiceIn and travel module  by:Jon
-- feat: refs #8225 added moreOptions and use it in customer and ticket summary  by:Jon
-- feat: refs #8225 added route and shelving module  by:Jon
-- feat: refs #8225 added worker and zone modules  by:Jon
-- feat: refs #8225 use it in claim, item and order modules  by:Jon
-- feat: refs #8258 added button to pass to uppercase  by:provira
-- feat: refs #8258 added uppercase option to VnInput  by:provira
-- feat: refs #8258 added uppercase validation on supplier create  by:provira
-- feat: refs #8298 add price optimum input and update translations for bonus and price optimum  by:jgallego
-- feat: refs #8316 add entryFilter prop to VnTable component in EntryList  by:jtubau
-- feat: refs #8322 added department changes  by:provira
-- feat: refs #8372 workerPBX  by:robert
-- feat: refs #8381 add initial and final temperature fields to entry forms and summaries  by:jgallego
-- feat: refs #8381 add initial and final temperature labels in English and Spanish locales  by:jgallego
-- feat: refs #8381 add toCelsius filter and update temperature fields in entry forms and summaries  by:jgallego
-- feat: skip tests  by:jorgep
-- style: refs #7957 update VnSearchbar padding for improved layout  by:jorgep
+- chore: add task comment by:jorgep
+- chore: refs #8198 rollback by:jorgep
+- chore: refs #8322 unnecessary prop by:alexm
+- feat: refs #7055 added new test case by:provira
+- feat: refs #7055 created FilterItemForm test by:provira
+- feat: refs #7077 created test for VnInputTime by:provira
+- feat: refs #7078 created test for VnJsonValue by:provira
+- feat: refs #7087 added more test cases by:provira
+- feat: refs #7087 added new test by:provira
+- feat: refs #7087 created CardSummary test by:provira
+- feat: refs #7088 created test for FetchedTags by:provira
+- feat: refs #7202 added new field by:Jon
+- feat: refs #7882 Added coords to create a address by:guillermo
+- feat: refs #7957 add tooltip and i18n support for search link in VnSearchbar component by:jorgep
+- feat: refs #7957 enhance search functionality and improve data filtering logic by:jorgep
+- feat: refs #7957 open in new tab by:jorgep
+- feat: refs #7957 simplify fn to by:jorgep
+- feat: refs #7957 update VnSearchbar component with improved search URL handling and styling enhancements by:jorgep
+- feat: refs #8117 filters and values added as needed by:jtubau
+- feat: refs #8197 useHasContent and use in VnSection and RightMenu by:alexm
+- feat: refs #8219 added invoice out e2e tests by:Jon
+- feat: refs #8219 global invoicing e2e by:Jon
+- feat: refs #8220 added barcodes e2e test by:Jon
+- feat: refs #8220 created items e2e by:Jon
+- feat: refs #8220 modified create item form and added respective e2e by:Jon
+- feat: refs #8225 added account and invoiceOut modules by:Jon
+- feat: refs #8225 added entry module and fixed translations by:Jon
+- feat: refs #8225 added invoiceIn and travel module by:Jon
+- feat: refs #8225 added moreOptions and use it in customer and ticket summary by:Jon
+- feat: refs #8225 added route and shelving module by:Jon
+- feat: refs #8225 added worker and zone modules by:Jon
+- feat: refs #8225 use it in claim, item and order modules by:Jon
+- feat: refs #8258 added button to pass to uppercase by:provira
+- feat: refs #8258 added uppercase option to VnInput by:provira
+- feat: refs #8258 added uppercase validation on supplier create by:provira
+- feat: refs #8298 add price optimum input and update translations for bonus and price optimum by:jgallego
+- feat: refs #8316 add entryFilter prop to VnTable component in EntryList by:jtubau
+- feat: refs #8322 added department changes by:provira
+- feat: refs #8372 workerPBX by:robert
+- feat: refs #8381 add initial and final temperature fields to entry forms and summaries by:jgallego
+- feat: refs #8381 add initial and final temperature labels in English and Spanish locales by:jgallego
+- feat: refs #8381 add toCelsius filter and update temperature fields in entry forms and summaries by:jgallego
+- feat: skip tests by:jorgep
+- style: refs #7957 update VnSearchbar padding for improved layout by:jorgep
 
 ### Changed ๐Ÿ“ฆ
 
-- perf: refs #8219 #8219 minor change  by:Javier Segarra
-- perf: refs #8220 on-fetch and added missing translations  by:Jon
-- perf: refs #8220 on-fetch  by:Jon
-- perf: refs #8220 translations  by:Jon
-- perf: refs #8220 use searchbar selector in e2e tests  by:Jon
-- perf: remove warning default value  by:Javier Segarra
-- refactor: redirect using  params  by:Jon
-- refactor: refs #7077 removed some comments  by:provira
-- refactor: refs #7087 removed unused imports  by:provira
-- refactor: refs #7100 added const mockData  by:jtubau
-- refactor: refs #7100 delete unnecesary set prop  by:jtubau
-- refactor: refs #7100 refactorized with methods  by:jtubau
-- refactor: refs #7957 remove blank  by:jorgep
-- refactor: refs #8198 simplify data fetching and filtering logic  by:jorgep
-- refactor: refs #8198 simplify state management and data fetching in ItemDiary component  by:jorgep
-- refactor: refs #8219 modified e2e tests and fixed some translations  by:Jon
-- refactor: refs #8219 modified list test, created cypress download folder and added to gitignore  by:Jon
-- refactor: refs #8219 requested changes  by:Jon
-- refactor: refs #8219 use checkNotification command  by:Jon
-- refactor: refs #8220 added data-cy for e2e tests  by:Jon
-- refactor: refs #8220 requested changes  by:Jon
-- refactor: refs #8220 skip failling test and modifed tag test  by:Jon
-- refactor: refs #8225 requested changes  by:Jon
-- refactor: refs #8247 use new acl for sysadmin  by:Jon
-- refactor: refs #8316 added claimFilter  by:jtubau
-- refactor: refs #8316 added entryFilter  by:jtubau
-- refactor: refs #8316 add new localization keys and update existing ones for entry components  by:jtubau
-- refactor: refs #8316 moved localizations to local locale  by:jtubau
-- refactor: refs #8316 move order localization  by:jtubau
-- refactor: refs #8316 remove unused OrderSearchbar component  by:jtubau
-- refactor: refs #8316 update EntryCard to use user-filter prop and remove exprBuilder from EntryList  by:jtubau
-- refactor: refs #8316 used VnSection and VnCardBeta  by:jtubau
-- refactor: refs #8322 changed translations  by:provira
-- refactor: refs #8322 changed Worker component to use VnSection/VnCardBeta  by:provira
-- refactor: refs #8322 set department inside worker  by:alexm
-- refactor: skip intermitent failing test  by:Jon
+- perf: refs #8219 #8219 minor change by:Javier Segarra
+- perf: refs #8220 on-fetch and added missing translations by:Jon
+- perf: refs #8220 on-fetch by:Jon
+- perf: refs #8220 translations by:Jon
+- perf: refs #8220 use searchbar selector in e2e tests by:Jon
+- perf: remove warning default value by:Javier Segarra
+- refactor: redirect using params by:Jon
+- refactor: refs #7077 removed some comments by:provira
+- refactor: refs #7087 removed unused imports by:provira
+- refactor: refs #7100 added const mockData by:jtubau
+- refactor: refs #7100 delete unnecesary set prop by:jtubau
+- refactor: refs #7100 refactorized with methods by:jtubau
+- refactor: refs #7957 remove blank by:jorgep
+- refactor: refs #8198 simplify data fetching and filtering logic by:jorgep
+- refactor: refs #8198 simplify state management and data fetching in ItemDiary component by:jorgep
+- refactor: refs #8219 modified e2e tests and fixed some translations by:Jon
+- refactor: refs #8219 modified list test, created cypress download folder and added to gitignore by:Jon
+- refactor: refs #8219 requested changes by:Jon
+- refactor: refs #8219 use checkNotification command by:Jon
+- refactor: refs #8220 added data-cy for e2e tests by:Jon
+- refactor: refs #8220 requested changes by:Jon
+- refactor: refs #8220 skip failling test and modifed tag test by:Jon
+- refactor: refs #8225 requested changes by:Jon
+- refactor: refs #8247 use new acl for sysadmin by:Jon
+- refactor: refs #8316 added claimFilter by:jtubau
+- refactor: refs #8316 added entryFilter by:jtubau
+- refactor: refs #8316 add new localization keys and update existing ones for entry components by:jtubau
+- refactor: refs #8316 moved localizations to local locale by:jtubau
+- refactor: refs #8316 move order localization by:jtubau
+- refactor: refs #8316 remove unused OrderSearchbar component by:jtubau
+- refactor: refs #8316 update EntryCard to use user-filter prop and remove exprBuilder from EntryList by:jtubau
+- refactor: refs #8316 used VnSection and VnCardBeta by:jtubau
+- refactor: refs #8322 changed translations by:provira
+- refactor: refs #8322 changed Worker component to use VnSection/VnCardBeta by:provira
+- refactor: refs #8322 set department inside worker by:alexm
+- refactor: skip intermitent failing test by:Jon
 
 ### Fixed ๐Ÿ› ๏ธ
 
-- feat: refs #8225 added entry module and fixed translations  by:Jon
-- fix: added missing translations in InvoiceIn  by:provira
-- fix: changed invoiceIn for InvoiceIn  by:provira
-- fix: changed translations to only use "invoicein"  by:provira
-- fix: department descriptor link  by:Jon
-- fix: e2e tests  by:Jon
-- fix: entry summary view and build warnings  by:Jon
-- fix: fixed InvoiceIn filter translations  by:provira
-- fix: modified setData in customerDescriptor to show the icons  by:Jon
-- fix: redirect to TicketSale from OrderLines  (origin/Fix-RedirectToTicketSale) by:Jon
-- fix: redirect when confirming lines  by:Jon
-- fix: refs #7055 #7055 #7055 fixed some tests  by:provira
-- fix: refs #7077 removed unused imports  by:provira
-- fix: refs #7078 added missing case with array  by:provira
-- fix: refs #7087 fixed some tests  by:provira
-- fix: refs #7088 changed "vm.vm" to "vm"  by:provira
-- fix: refs #7088 changed wrapper to vm  by:provira
-- fix: refs #7699 add icons and hint  by:carlossa
-- fix: refs #7699 add pwd vnInput  by:carlossa
-- fix: refs #7699 fix component  by:carlossa
-- fix: refs #7699 fix password visibility  by:carlossa
-- fix: refs #7699 fix tfront clean code  by:carlossa
-- fix: refs #7699 fix vnChangePassword, clean VnInput  by:carlossa
-- fix: refs #7699 fix vnInputPassword  by:carlossa
-- fix: refs #7957 add missing closing brace  by:jorgep
-- fix: refs #7957 css  by:jorgep
-- fix: refs #7957 rollback  by:jorgep
-- fix: refs #7957 update data-cy  by:jorgep
-- fix: refs #7957 update visibility handling for clear icon in VnInput component  by:jorgep
-- fix: refs #7957 vn-searchbar test  by:jorgep
-- fix: refs #8117 update salesPersonFk filter options and URL for improved data retrieval  by:jtubau
-- fix: refs #8197 not use yet  by:alexm
-- fix: refs #8198 update query param  by:jorgep
-- fix: refs #8219 fixed e2e tests  by:Jon
-- fix: refs #8219 fixed summary and global tests  by:Jon
-- fix: refs #8219 forgotten dataCy  by:Jon
-- fix: refs #8219 global e2e  by:Jon
-- fix: refs #8219 requested changes  by:Jon
-- fix: refs #8220 itemTag test  by:Javier Segarra
-- fix: refs #8225 invoice in translations  by:Jon
-- fix: refs #8243 fixed SkeletonSummary  by:provira
-- fix: refs #8247 conflicts  by:Jon
-- fix: refs #8247 fixed acls and added lost options  by:Jon
-- fix: refs #8316 ref="claimFilterRef"  by:alexm
-- fix: refs #8316 userFilter  by:alexm
-- fix: refs #8316 use rightMenu  by:alexm
-- fix: refs #8316 use section-searchbar  by:alexm
-- fix: refs #8317 disable action buttons when no rows are selected in ItemFixedPrice  by:jtubau
-- fix: refs #8322 unnecessary section  by:alexm
-- fix: refs #8338 fixed VnTable translations  by:provira
-- fix: refs #8338 removed chipLocale property/added more translations  by:provira
-- fix: refs #8448 e2e  by:Jon
-- fix: refs #8448 not use croppie  by:alexm
-- fix: remove departmentCode  by:Javier Segarra
-- fix: removed unused searchbar  by:PAU ROVIRA ROSALENY
-- fix: skip failling e2e  by:Jon
-- fix: sort by name in description  by:Jon
-- fix: translations  by:Jon
-- fix: use entryFilter  by:alexm
-- fix(VnCardBeta): add userFilter  by:alexm
-- refactor: refs #8219 modified e2e tests and fixed some translations  by:Jon
-- revert: revert header  by:alexm
-- test: fix expedition e2e  by:alexm
+- feat: refs #8225 added entry module and fixed translations by:Jon
+- fix: added missing translations in InvoiceIn by:provira
+- fix: changed invoiceIn for InvoiceIn by:provira
+- fix: changed translations to only use "invoicein" by:provira
+- fix: department descriptor link by:Jon
+- fix: e2e tests by:Jon
+- fix: entry summary view and build warnings by:Jon
+- fix: fixed InvoiceIn filter translations by:provira
+- fix: modified setData in customerDescriptor to show the icons by:Jon
+- fix: redirect to TicketSale from OrderLines (origin/Fix-RedirectToTicketSale) by:Jon
+- fix: redirect when confirming lines by:Jon
+- fix: refs #7055 #7055 #7055 fixed some tests by:provira
+- fix: refs #7077 removed unused imports by:provira
+- fix: refs #7078 added missing case with array by:provira
+- fix: refs #7087 fixed some tests by:provira
+- fix: refs #7088 changed "vm.vm" to "vm" by:provira
+- fix: refs #7088 changed wrapper to vm by:provira
+- fix: refs #7699 add icons and hint by:carlossa
+- fix: refs #7699 add pwd vnInput by:carlossa
+- fix: refs #7699 fix component by:carlossa
+- fix: refs #7699 fix password visibility by:carlossa
+- fix: refs #7699 fix tfront clean code by:carlossa
+- fix: refs #7699 fix vnChangePassword, clean VnInput by:carlossa
+- fix: refs #7699 fix vnInputPassword by:carlossa
+- fix: refs #7957 add missing closing brace by:jorgep
+- fix: refs #7957 css by:jorgep
+- fix: refs #7957 rollback by:jorgep
+- fix: refs #7957 update data-cy by:jorgep
+- fix: refs #7957 update visibility handling for clear icon in VnInput component by:jorgep
+- fix: refs #7957 vn-searchbar test by:jorgep
+- fix: refs #8117 update salesPersonFk filter options and URL for improved data retrieval by:jtubau
+- fix: refs #8197 not use yet by:alexm
+- fix: refs #8198 update query param by:jorgep
+- fix: refs #8219 fixed e2e tests by:Jon
+- fix: refs #8219 fixed summary and global tests by:Jon
+- fix: refs #8219 forgotten dataCy by:Jon
+- fix: refs #8219 global e2e by:Jon
+- fix: refs #8219 requested changes by:Jon
+- fix: refs #8220 itemTag test by:Javier Segarra
+- fix: refs #8225 invoice in translations by:Jon
+- fix: refs #8243 fixed SkeletonSummary by:provira
+- fix: refs #8247 conflicts by:Jon
+- fix: refs #8247 fixed acls and added lost options by:Jon
+- fix: refs #8316 ref="claimFilterRef" by:alexm
+- fix: refs #8316 userFilter by:alexm
+- fix: refs #8316 use rightMenu by:alexm
+- fix: refs #8316 use section-searchbar by:alexm
+- fix: refs #8317 disable action buttons when no rows are selected in ItemFixedPrice by:jtubau
+- fix: refs #8322 unnecessary section by:alexm
+- fix: refs #8338 fixed VnTable translations by:provira
+- fix: refs #8338 removed chipLocale property/added more translations by:provira
+- fix: refs #8448 e2e by:Jon
+- fix: refs #8448 not use croppie by:alexm
+- fix: remove departmentCode by:Javier Segarra
+- fix: removed unused searchbar by:PAU ROVIRA ROSALENY
+- fix: skip failling e2e by:Jon
+- fix: sort by name in description by:Jon
+- fix: translations by:Jon
+- fix: use entryFilter by:alexm
+- fix(VnCardBeta): add userFilter by:alexm
+- refactor: refs #8219 modified e2e tests and fixed some translations by:Jon
+- revert: revert header by:alexm
+- test: fix expedition e2e by:alexm
 
 # Version 25.00 - 2025-01-14
 
 ### Added ๐Ÿ†•
 
--   chore: refs #7056 move test by:jorgep
--   feat: refs #7050 7050 add object check by:Jtubau
--   feat: refs #7050 7050 add test to isEmpty() by:Jtubau
--   feat: refs #7056 add tests in FormModel by:jorgep
--   feat: refs #7056 update route meta information and add FormModel tests by:jorgep
--   feat: refs #7074 tests for fns setData(), parseDms() and showFormDialog() (7074-makeFrontTestToVnDmsList) by:Jtubau
--   feat: refs #7079 created VnLocation front test by:provira
--   feat: refs #7189 add Accept-Language header to axios requests by:jorgep
--   feat: refs #7924 add custom inspection checkbox and localization support by:jgallego
--   feat: refs #7924 update custom inspection label for clarity in English and Spanish locales by:jgallego
--   feat: refs #8004 enhance FetchedTags component with column support and styling updates by:pablone
--   feat: refs #8004 hide rightFilter by:pablone
--   feat: refs #8246 added new field in list by:Jon
--   feat: refs #8266 added descriptor to item name by:jtubau
--   feat: refs #8293 add zone filter by:Jtubau
--   feat: refs #8293 include zone data in each record by:Jtubau
--   fix: refs #8004 more list style issues by:pablone
--   fix: refs #8004 some style issues on all list by:pablone
--   style: refs #8004 update layout and styling in FetchedTags and ItemList components by:pablone
--   style: update CustomerBalance.vue to set label color by:jgallego
+- chore: refs #7056 move test by:jorgep
+- feat: refs #7050 7050 add object check by:Jtubau
+- feat: refs #7050 7050 add test to isEmpty() by:Jtubau
+- feat: refs #7056 add tests in FormModel by:jorgep
+- feat: refs #7056 update route meta information and add FormModel tests by:jorgep
+- feat: refs #7074 tests for fns setData(), parseDms() and showFormDialog() (7074-makeFrontTestToVnDmsList) by:Jtubau
+- feat: refs #7079 created VnLocation front test by:provira
+- feat: refs #7189 add Accept-Language header to axios requests by:jorgep
+- feat: refs #7924 add custom inspection checkbox and localization support by:jgallego
+- feat: refs #7924 update custom inspection label for clarity in English and Spanish locales by:jgallego
+- feat: refs #8004 enhance FetchedTags component with column support and styling updates by:pablone
+- feat: refs #8004 hide rightFilter by:pablone
+- feat: refs #8246 added new field in list by:Jon
+- feat: refs #8266 added descriptor to item name by:jtubau
+- feat: refs #8293 add zone filter by:Jtubau
+- feat: refs #8293 include zone data in each record by:Jtubau
+- fix: refs #8004 more list style issues by:pablone
+- fix: refs #8004 some style issues on all list by:pablone
+- style: refs #8004 update layout and styling in FetchedTags and ItemList components by:pablone
+- style: update CustomerBalance.vue to set label color by:jgallego
 
 ### Changed ๐Ÿ“ฆ
 
--   perf: order by:alexm
--   perf: redirect transition list to card by:alexm
--   perf: refs #8201 onDataSaved fetch by:Jon
--   perf: revert processData by:alexm
--   perf: simplify if by:alexm
--   perf: simplify if (perf_redirectTransition) by:alexm
--   refactor: item fixedPrice by:Jon
--   refactor: refs #7050 refactorize by:jtubau
--   refactor: refs #7050 removed blank spaces by:jtubau
--   refactor: refs #7052 move EditTableCellValueForm tests to a new location and enhance test coverage by:jgallego
--   refactor: refs #7052 remove unnecessary console logs from EditTableCellValueForm tests by:jgallego
--   refactor: refs #7074 move dms constant to global scope by:Jtubau
--   refactor: refs #7079 removed useless code by:provira
--   refactor: refs #7924 simplify custom inspection icon rendering in ExtraCommunity.vue by:jgallego
--   refactor: refs #8004 remove console log from CardSummary component on mount by:pablone
--   refactor: refs #8004 remove consoleLogs by:pablone
--   refactor: refs #8004 remove unused stateStore import in InvoiceInList.vue by:pablone
--   refactor: refs #8004 remove unused travelFilterRef and chip definition in TravelList.vue by:pablone
--   refactor: refs #8004 replace VnSelect with VnSelectWorker in CustomerList component by:pablone
--   refactor: refs #8201 added onMounted to stablish the value to show icons by:Jon
--   refactor: refs #8201 deleted condition by:Jon
--   refactor: refs #8201 deleted log by:Jon
--   refactor: refs #8201 deleted logs by:Jon
--   refactor: refs #8266 8266 change expedition item name by:Jtubau
--   refactor: refs #8266 change expedition label by:Jtubau
--   refactor: refs #8293 remove redundant attributes by:Jtubau
--   refactor: refs #8320 changed folder names from "specs" to "**tests**" by:provira
--   refactor: refs #8320 moved front tests to their respective sections by:provira
--   refactor: refs #8813 removed unused class property by:provira
+- perf: order by:alexm
+- perf: redirect transition list to card by:alexm
+- perf: refs #8201 onDataSaved fetch by:Jon
+- perf: revert processData by:alexm
+- perf: simplify if by:alexm
+- perf: simplify if (perf_redirectTransition) by:alexm
+- refactor: item fixedPrice by:Jon
+- refactor: refs #7050 refactorize by:jtubau
+- refactor: refs #7050 removed blank spaces by:jtubau
+- refactor: refs #7052 move EditTableCellValueForm tests to a new location and enhance test coverage by:jgallego
+- refactor: refs #7052 remove unnecessary console logs from EditTableCellValueForm tests by:jgallego
+- refactor: refs #7074 move dms constant to global scope by:Jtubau
+- refactor: refs #7079 removed useless code by:provira
+- refactor: refs #7924 simplify custom inspection icon rendering in ExtraCommunity.vue by:jgallego
+- refactor: refs #8004 remove console log from CardSummary component on mount by:pablone
+- refactor: refs #8004 remove consoleLogs by:pablone
+- refactor: refs #8004 remove unused stateStore import in InvoiceInList.vue by:pablone
+- refactor: refs #8004 remove unused travelFilterRef and chip definition in TravelList.vue by:pablone
+- refactor: refs #8004 replace VnSelect with VnSelectWorker in CustomerList component by:pablone
+- refactor: refs #8201 added onMounted to stablish the value to show icons by:Jon
+- refactor: refs #8201 deleted condition by:Jon
+- refactor: refs #8201 deleted log by:Jon
+- refactor: refs #8201 deleted logs by:Jon
+- refactor: refs #8266 8266 change expedition item name by:Jtubau
+- refactor: refs #8266 change expedition label by:Jtubau
+- refactor: refs #8293 remove redundant attributes by:Jtubau
+- refactor: refs #8320 changed folder names from "specs" to "**tests**" by:provira
+- refactor: refs #8320 moved front tests to their respective sections by:provira
+- refactor: refs #8813 removed unused class property by:provira
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   fix: discount class by:PAU ROVIRA ROSALENY
--   fix: duplicate transalation after test to dev by:alexm
--   fix: fix translations by:carlossa
--   fix: redirect to sales when confirming lines by:Jon
--   fix: refs #7050 delete import added by mistake by:Jtubau
--   fix: refs #7133 handleSalesModelValue function to handle empty input by:jorgep
--   fix: refs #7189 update user language on sessionStorage by:jorgep
--   fix: refs #7935 remove unused 'companyFk' column from InvoiceInList component by:jorgep
--   fix: refs #8004 more list style issues by:pablone
--   fix: refs #8004 some style issues on all list by:pablone
--   fix: refs #8004 update label for daysOnward in TravelFilter component and add translations by:pablone
--   fix: refs #8004 vnTable card with and add permanent labels by:pablone
--   fix: refs #8201 added onDataSaved emi to refetch when cahnges are made by:Jon
--   fix: refs #8201 use arrayData to fix the error by:Jon
--   fix: refs #8314 space between label and value by:jtubau
--   fix: refs #8813 fixed ClaimLines format by:provira
--   fix: update button sizes in ExtraCommunity.vue for better visibility by:jgallego
--   perf: revert processData by:alexm
--   refactor: item fixedPrice by:Jon
+- fix: discount class by:PAU ROVIRA ROSALENY
+- fix: duplicate transalation after test to dev by:alexm
+- fix: fix translations by:carlossa
+- fix: redirect to sales when confirming lines by:Jon
+- fix: refs #7050 delete import added by mistake by:Jtubau
+- fix: refs #7133 handleSalesModelValue function to handle empty input by:jorgep
+- fix: refs #7189 update user language on sessionStorage by:jorgep
+- fix: refs #7935 remove unused 'companyFk' column from InvoiceInList component by:jorgep
+- fix: refs #8004 more list style issues by:pablone
+- fix: refs #8004 some style issues on all list by:pablone
+- fix: refs #8004 update label for daysOnward in TravelFilter component and add translations by:pablone
+- fix: refs #8004 vnTable card with and add permanent labels by:pablone
+- fix: refs #8201 added onDataSaved emi to refetch when cahnges are made by:Jon
+- fix: refs #8201 use arrayData to fix the error by:Jon
+- fix: refs #8314 space between label and value by:jtubau
+- fix: refs #8813 fixed ClaimLines format by:provira
+- fix: update button sizes in ExtraCommunity.vue for better visibility by:jgallego
+- perf: revert processData by:alexm
+- refactor: item fixedPrice by:Jon
 
 # Version 24.52 - 2024-01-07
 
 ### Added ๐Ÿ†•
 
--   chore: refs #8197 remove console log by:alexm
--   chore: refs #8197 replace name by:alexm
--   chore: refs #8197 unnecessary file by:alexm
--   feat: #8110 apply mixin in quasar components by:Javier Segarra
--   feat(Account & AccountRole): refs #8197 add VnCardMain by:alexm
--   feat: addDptoLink by:Jtubau
--   feat: added restore ticket function in ticket descriptor menu by:Jon
--   feat: add support service wip by:jorgep
--   feat: focus menu searchbar by:jorgep
--   feat: make additional data object by:jorgep
--   feat: message to grant access by:jorgep
--   feat: refs #6583 add default param by:jorgep
--   feat: refs #6583 add destination opt filter by:jorgep
--   feat: refs #6583 add icon by:jorgep
--   feat: refs #6583 add locale by:jorgep
--   feat: refs #7072 added test to computed fn total by:Jtubau
--   feat: refs #7235 update invoice out global form to fetch config based on serial type by:jgallego
--   feat: refs #7301 add exclude inventory supplier from list by:pablone
--   feat: refs #7301 enhance VnDateBadge styling and improve ItemLastEntries component by:pablone
--   feat: refs #7882 Added distribution point by:guillermo
--   feat: refs #7882 Added longitude & latitude by:guillermo
--   feat: refs #7936 add autocomplete on tab fn by:jorgep
--   feat: refs #7936 add company filter by:jorgep
--   feat: refs #7936 add currency check before fetching by:jorgep
--   feat: refs #7936 add dueDated field by:jorgep
--   feat: refs #7936 add number validation to VnInputNumber & new daysAgo filter in InvoiceInFilter by:jorgep
--   feat: refs #7936 add optionCaption by:jorgep
--   feat: refs #7936 add row click navigation to InvoiceInSerial by:jorgep
--   feat: refs #7936 add unit tests by:jorgep
--   feat: refs #7936 add useAccountShortToStandard composable by:jorgep
--   feat: refs #7936 calculate exchange & update taxable base by:jorgep
--   feat: refs #7936 enhance downloadFile function to support opening in a new tab by:jorgep
--   feat: refs #7936 enhance getTotal fn & add unit tests by:jorgep
--   feat: refs #7936 enhance vn-select by:jorgep
--   feat: refs #7936 improve optionLabel logic in InvoiceInVat component for better handling of numeric values by:jorgep
--   feat: refs #7936 limit decimal places by:jorgep
--   feat: refs #7936 make fields required by:jorgep
--   feat: refs #7936 show country code & isVies fields by:jorgep
--   feat: refs #7936 show id & value by:jorgep
--   feat: refs #7936 simplify optionLabel wip by:jorgep
--   feat: refs #7936 update 'isVies' label to use global translation key by:jorgep
--   feat: refs #7936 update option labels in InvoiceIn components for better clarity by:jorgep
--   feat: refs #7936 use default invoice data by:jorgep
--   feat: refs #8001 change request by:robert
--   feat: refs #8001 ticketExpeditionGrafana by:robert
--   feat: refs #8194 created VnSelectWorker component and use it in Lilium by:Jon
--   feat: refs #8197 better leftMenu and VnCardMain improvements by:alexm
--   feat: refs #8197 default leftMenu by:alexm
--   feat: refs #8197 default sectionName by:alexm
--   feat: refs #8197 keepData in VnSection by:alexm
--   feat: refs #8197 vnTableFilter by:alexm
--   feat: refs #8197 working rightMenu by:alexm
--   feat: remove re-fetch when add element by:Javier Segarra
--   feat: remove search after category by:Javier Segarra
--   feat: requested changes in item module by:Jon
--   feat: update quantity by:Javier Segarra
--   feat(VnPaginate): refs #8197 hold data when change to Card by:alexm
+- chore: refs #8197 remove console log by:alexm
+- chore: refs #8197 replace name by:alexm
+- chore: refs #8197 unnecessary file by:alexm
+- feat: #8110 apply mixin in quasar components by:Javier Segarra
+- feat(Account & AccountRole): refs #8197 add VnCardMain by:alexm
+- feat: addDptoLink by:Jtubau
+- feat: added restore ticket function in ticket descriptor menu by:Jon
+- feat: add support service wip by:jorgep
+- feat: focus menu searchbar by:jorgep
+- feat: make additional data object by:jorgep
+- feat: message to grant access by:jorgep
+- feat: refs #6583 add default param by:jorgep
+- feat: refs #6583 add destination opt filter by:jorgep
+- feat: refs #6583 add icon by:jorgep
+- feat: refs #6583 add locale by:jorgep
+- feat: refs #7072 added test to computed fn total by:Jtubau
+- feat: refs #7235 update invoice out global form to fetch config based on serial type by:jgallego
+- feat: refs #7301 add exclude inventory supplier from list by:pablone
+- feat: refs #7301 enhance VnDateBadge styling and improve ItemLastEntries component by:pablone
+- feat: refs #7882 Added distribution point by:guillermo
+- feat: refs #7882 Added longitude & latitude by:guillermo
+- feat: refs #7936 add autocomplete on tab fn by:jorgep
+- feat: refs #7936 add company filter by:jorgep
+- feat: refs #7936 add currency check before fetching by:jorgep
+- feat: refs #7936 add dueDated field by:jorgep
+- feat: refs #7936 add number validation to VnInputNumber & new daysAgo filter in InvoiceInFilter by:jorgep
+- feat: refs #7936 add optionCaption by:jorgep
+- feat: refs #7936 add row click navigation to InvoiceInSerial by:jorgep
+- feat: refs #7936 add unit tests by:jorgep
+- feat: refs #7936 add useAccountShortToStandard composable by:jorgep
+- feat: refs #7936 calculate exchange & update taxable base by:jorgep
+- feat: refs #7936 enhance downloadFile function to support opening in a new tab by:jorgep
+- feat: refs #7936 enhance getTotal fn & add unit tests by:jorgep
+- feat: refs #7936 enhance vn-select by:jorgep
+- feat: refs #7936 improve optionLabel logic in InvoiceInVat component for better handling of numeric values by:jorgep
+- feat: refs #7936 limit decimal places by:jorgep
+- feat: refs #7936 make fields required by:jorgep
+- feat: refs #7936 show country code & isVies fields by:jorgep
+- feat: refs #7936 show id & value by:jorgep
+- feat: refs #7936 simplify optionLabel wip by:jorgep
+- feat: refs #7936 update 'isVies' label to use global translation key by:jorgep
+- feat: refs #7936 update option labels in InvoiceIn components for better clarity by:jorgep
+- feat: refs #7936 use default invoice data by:jorgep
+- feat: refs #8001 change request by:robert
+- feat: refs #8001 ticketExpeditionGrafana by:robert
+- feat: refs #8194 created VnSelectWorker component and use it in Lilium by:Jon
+- feat: refs #8197 better leftMenu and VnCardMain improvements by:alexm
+- feat: refs #8197 default leftMenu by:alexm
+- feat: refs #8197 default sectionName by:alexm
+- feat: refs #8197 keepData in VnSection by:alexm
+- feat: refs #8197 vnTableFilter by:alexm
+- feat: refs #8197 working rightMenu by:alexm
+- feat: remove re-fetch when add element by:Javier Segarra
+- feat: remove search after category by:Javier Segarra
+- feat: requested changes in item module by:Jon
+- feat: update quantity by:Javier Segarra
+- feat(VnPaginate): refs #8197 hold data when change to Card by:alexm
 
 ### Changed ๐Ÿ“ฆ
 
--   perf: #6896 REMOVE COMMENTS by:Javier Segarra
--   perf: qFormMixin by:Javier Segarra
--   perf: qFormMixin improvement by:Javier Segarra
--   perf: refs #8194 select worker component by:Jon
--   perf: refs #8197 perf by:alexm
--   perf: remove comments by:Javier Segarra
--   perf: remove unused variables (origin/warmfix_noUsedVars) by:Javier Segarra
--   refactor: added again search emit by:Jon
--   refactor: add useCau composable by:jorgep
--   refactor: deleted log by:Jon
--   refactor: deleted onUnmounted code by:Jon
--   refactor: deleted useless hidden tag by:Jon
--   refactor: deleted warnings and corrected itemTag by:Jon
--   refactor: drop logic by:jorgep
--   refactor: ignore params when searching by id on searchbar (origin/VnSearchbar-SearchRemoveParams) by:Jon
--   refactor: log error by:Jon
--   refactor: refs #7936 locale by:jorgep
--   refactor: refs #7936 simplify getTotal fn by:jorgep
--   refactor: refs #7936 update label capitalization and replace invoice type options by:jorgep
--   refactor: refs #8194 deleted unnecessary label by:Jon
--   refactor: refs #8194 modified select worker template by:Jon
--   refactor: refs #8194 modified select worker to allow no one filter from monitor ticket by:Jon
--   refactor: refs #8194 moved translation to the correct place by:Jon
--   refactor: refs #8194 requested changes by:Jon
--   refactor: refs #8194 structure changes in component and related files by:Jon
--   refactor: refs #8197 adapt AccountAcls to VnCardMain by:alexm
--   refactor: refs #8197 adapt AccountAlias by:alexm
--   refactor: refs #8197 adapt Ticket to VnCardMain by:alexm
--   refactor: refs #8197 backward compatible (8197-VnCardMain_backwardCompatibility) by:alexm
--   refactor: refs #8197 rename VnSectionMain to VnModule and VnCardMain to VnSection by:alexm
--   refactor: refs #8288 changed invoice out spanish translation by:provira
--   refactor: use locale keys by:jorgep
--   refactor: use teleport to avoid qdrawer overlapping by:Jon
--   refactor: use VnSelectWorker by:Jon
+- perf: #6896 REMOVE COMMENTS by:Javier Segarra
+- perf: qFormMixin by:Javier Segarra
+- perf: qFormMixin improvement by:Javier Segarra
+- perf: refs #8194 select worker component by:Jon
+- perf: refs #8197 perf by:alexm
+- perf: remove comments by:Javier Segarra
+- perf: remove unused variables (origin/warmfix_noUsedVars) by:Javier Segarra
+- refactor: added again search emit by:Jon
+- refactor: add useCau composable by:jorgep
+- refactor: deleted log by:Jon
+- refactor: deleted onUnmounted code by:Jon
+- refactor: deleted useless hidden tag by:Jon
+- refactor: deleted warnings and corrected itemTag by:Jon
+- refactor: drop logic by:jorgep
+- refactor: ignore params when searching by id on searchbar (origin/VnSearchbar-SearchRemoveParams) by:Jon
+- refactor: log error by:Jon
+- refactor: refs #7936 locale by:jorgep
+- refactor: refs #7936 simplify getTotal fn by:jorgep
+- refactor: refs #7936 update label capitalization and replace invoice type options by:jorgep
+- refactor: refs #8194 deleted unnecessary label by:Jon
+- refactor: refs #8194 modified select worker template by:Jon
+- refactor: refs #8194 modified select worker to allow no one filter from monitor ticket by:Jon
+- refactor: refs #8194 moved translation to the correct place by:Jon
+- refactor: refs #8194 requested changes by:Jon
+- refactor: refs #8194 structure changes in component and related files by:Jon
+- refactor: refs #8197 adapt AccountAcls to VnCardMain by:alexm
+- refactor: refs #8197 adapt AccountAlias by:alexm
+- refactor: refs #8197 adapt Ticket to VnCardMain by:alexm
+- refactor: refs #8197 backward compatible (8197-VnCardMain_backwardCompatibility) by:alexm
+- refactor: refs #8197 rename VnSectionMain to VnModule and VnCardMain to VnSection by:alexm
+- refactor: refs #8288 changed invoice out spanish translation by:provira
+- refactor: use locale keys by:jorgep
+- refactor: use teleport to avoid qdrawer overlapping by:Jon
+- refactor: use VnSelectWorker by:Jon
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   fix: account by:carlossa
--   fix: account create by:carlossa
--   fix: accountList create by:carlossa
--   fix(AccountList): use $refs by:alexm
--   fix: add data-key by:alexm
--   fix: addLocales by:Jtubau
--   fix: dated field by:Jon
--   fix: e2e by:jorgep
--   fix: fix department filter by:carlossa
--   fix: fixed translations by:Javier Segarra
--   fix: fixed translations by:provira
--   fix: get total from api by:Javier Segarra
--   fix: handle non-object options by:jorgep
--   fix: monitorPayMethodFilter by:carlossa
--   fix: orderBy priority by:Javier Segarra
--   fix: prevent null by:jorgep
--   fix: redirection vnTable VnTableFilter by:alexm
--   fix: refs #6389 fix filter trad by:carlossa
--   fix: refs #6389 fix front, filters, itp by:carlossa
--   fix: refs #6389 front add packing filter by:carlossa
--   fix: refs #6389 front by:carlossa
--   fix: refs #6389 front filters by:carlossa
--   fix: refs #6389 ipt by:carlossa
--   fix: refs #6389 packing by:carlossa
--   fix: refs #6583 update checkbox for filtering by destination in TicketAdvanceFilter by:jorgep
--   fix: refs #7031 add test e2e by:carlossa
--   fix: refs #7031 fix zoneTest by:carlossa
--   fix: refs #7301 unnecessary console logs from ItemLastEntries.vue by:pablone
--   fix: refs #7936 changes by:jorgep
--   fix: refs #7936 decimal places & locale by:jorgep
--   fix: refs #7936 descriptor & dueday by:jorgep
--   fix: refs #7936 exclude disabled els on tab by:jorgep
--   fix: refs #7936 format tax calculation to two decimal places by:jorgep
--   fix: refs #7936 improve error handling by:jorgep
--   fix: refs #7936 redirection by:jorgep
--   fix: refs #7936 rollback by:jorgep
--   fix: refs #7936 serial by:jorgep
--   fix: refs #7936 tabulation wip by:jorgep
--   fix: refs #7936 test by:jorgep
--   fix: refs #8114 clean by:carlossa
--   fix: refs #8114 fix agencyList by:carlossa
--   fix: refs #8114 fix lifeCycle hooks by:carlossa
--   fix: refs #8114 fix pr by:carlossa
--   fix: refs #8114 fix removeAddress by:carlossa
--   fix: refs #8114 orderList by:carlossa
--   fix: refs #8114 remove logs by:carlossa
--   fix: refs #8197 mapKey (origin/8197-perf_vnTableInside, 8197-perf_vnTableInside) by:alexm
--   fix: refs #8197 redirection (8197-perf_redirection) by:alexm
--   fix: refs #8197 staticParams and redirect by:alexm
--   fix: refs #8197 vnPaginate onFetch emit by:alexm
--   fix: refs #8197 vnPaginate when change :id by:alexm
--   fix: refs #8197 vnTableFilter in vnTable by:alexm
--   fix: refs #8315 ticketBoxing test by:alexm
--   fix: remove url by:carlossa
--   fix: rollback by:jorgep
--   fix: test by:jorgep
--   fix(VnDmsList): refs #8197 add mapKey by:alexm
--   revert: refs #8197 arrayData changes by:alexm
--   test: refs #8197 fix e2e by:alexm
--   test: refs #8315 fix claimDevelopment fixtures by:alexm
--   test: refs #8315 fix clientList by:alexm
--   test: refs #8315 fix VnSelect in e2e by:alexm
+- fix: account by:carlossa
+- fix: account create by:carlossa
+- fix: accountList create by:carlossa
+- fix(AccountList): use $refs by:alexm
+- fix: add data-key by:alexm
+- fix: addLocales by:Jtubau
+- fix: dated field by:Jon
+- fix: e2e by:jorgep
+- fix: fix department filter by:carlossa
+- fix: fixed translations by:Javier Segarra
+- fix: fixed translations by:provira
+- fix: get total from api by:Javier Segarra
+- fix: handle non-object options by:jorgep
+- fix: monitorPayMethodFilter by:carlossa
+- fix: orderBy priority by:Javier Segarra
+- fix: prevent null by:jorgep
+- fix: redirection vnTable VnTableFilter by:alexm
+- fix: refs #6389 fix filter trad by:carlossa
+- fix: refs #6389 fix front, filters, itp by:carlossa
+- fix: refs #6389 front add packing filter by:carlossa
+- fix: refs #6389 front by:carlossa
+- fix: refs #6389 front filters by:carlossa
+- fix: refs #6389 ipt by:carlossa
+- fix: refs #6389 packing by:carlossa
+- fix: refs #6583 update checkbox for filtering by destination in TicketAdvanceFilter by:jorgep
+- fix: refs #7031 add test e2e by:carlossa
+- fix: refs #7031 fix zoneTest by:carlossa
+- fix: refs #7301 unnecessary console logs from ItemLastEntries.vue by:pablone
+- fix: refs #7936 changes by:jorgep
+- fix: refs #7936 decimal places & locale by:jorgep
+- fix: refs #7936 descriptor & dueday by:jorgep
+- fix: refs #7936 exclude disabled els on tab by:jorgep
+- fix: refs #7936 format tax calculation to two decimal places by:jorgep
+- fix: refs #7936 improve error handling by:jorgep
+- fix: refs #7936 redirection by:jorgep
+- fix: refs #7936 rollback by:jorgep
+- fix: refs #7936 serial by:jorgep
+- fix: refs #7936 tabulation wip by:jorgep
+- fix: refs #7936 test by:jorgep
+- fix: refs #8114 clean by:carlossa
+- fix: refs #8114 fix agencyList by:carlossa
+- fix: refs #8114 fix lifeCycle hooks by:carlossa
+- fix: refs #8114 fix pr by:carlossa
+- fix: refs #8114 fix removeAddress by:carlossa
+- fix: refs #8114 orderList by:carlossa
+- fix: refs #8114 remove logs by:carlossa
+- fix: refs #8197 mapKey (origin/8197-perf_vnTableInside, 8197-perf_vnTableInside) by:alexm
+- fix: refs #8197 redirection (8197-perf_redirection) by:alexm
+- fix: refs #8197 staticParams and redirect by:alexm
+- fix: refs #8197 vnPaginate onFetch emit by:alexm
+- fix: refs #8197 vnPaginate when change :id by:alexm
+- fix: refs #8197 vnTableFilter in vnTable by:alexm
+- fix: refs #8315 ticketBoxing test by:alexm
+- fix: remove url by:carlossa
+- fix: rollback by:jorgep
+- fix: test by:jorgep
+- fix(VnDmsList): refs #8197 add mapKey by:alexm
+- revert: refs #8197 arrayData changes by:alexm
+- test: refs #8197 fix e2e by:alexm
+- test: refs #8315 fix claimDevelopment fixtures by:alexm
+- test: refs #8315 fix clientList by:alexm
+- test: refs #8315 fix VnSelect in e2e by:alexm
 
 # Version 24.50 - 2024-12-10
 
 ### Added ๐Ÿ†•
 
--   feat: add reportFileName option by:Javier Segarra
--   feat: all clients just with global series by:jgallego
--   feat: improve Merge branch 'test' into dev by:Javier Segarra
--   feat: manual invoice in two lines by:jgallego
--   feat: manualInvoice with address by:jgallego
--   feat: randomize functions and example by:Javier Segarra
--   feat: refs #6999 added search when user tabs on a filter with value by:Jon
--   feat: refs #6999 added tab to search in VnTable filter by:Jon
--   feat: refs #7346 #7346 improve form by:Javier Segarra
--   feat: refs #7346 address ordered by:jgallego
--   feat: refs #7346 radioButton by:jgallego
--   feat: refs #7346 style radioButton by:jgallego
--   feat: refs #7346 traducciones en cammelCase (7346-manualInvoice) by:jgallego
--   feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
--   feat: refs #8061 #8061 updates by:Javier Segarra
--   feat: refs #8087 reactive data by:jorgep
--   feat: refs #8087 refs#8087 Redadas en travel by:Carlos Andrรฉs
--   feat: refs #8138 add component ticket problems by:pablone
--   feat: refs #8163 add max length and more tests by:wbuezas
--   feat: refs #8163 add prop by:wbuezas
--   feat: refs #8163 add VnInput insert functionality and e2e test by:wbuezas
--   feat: refs #8163 limit with maxLength by:Javier Segarra
--   feat: refs #8163 maxLength SupplierFD account by:Javier Segarra
--   feat: refs #8163 maxLengthVnInput by:Javier Segarra
--   feat: refs #8163 use VnAccountNumber in VnAccountNumber by:Javier Segarra
--   feat: refs #8166 show notification by:jorgep
+- feat: add reportFileName option by:Javier Segarra
+- feat: all clients just with global series by:jgallego
+- feat: improve Merge branch 'test' into dev by:Javier Segarra
+- feat: manual invoice in two lines by:jgallego
+- feat: manualInvoice with address by:jgallego
+- feat: randomize functions and example by:Javier Segarra
+- feat: refs #6999 added search when user tabs on a filter with value by:Jon
+- feat: refs #6999 added tab to search in VnTable filter by:Jon
+- feat: refs #7346 #7346 improve form by:Javier Segarra
+- feat: refs #7346 address ordered by:jgallego
+- feat: refs #7346 radioButton by:jgallego
+- feat: refs #7346 style radioButton by:jgallego
+- feat: refs #7346 traducciones en cammelCase (7346-manualInvoice) by:jgallego
+- feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
+- feat: refs #8061 #8061 updates by:Javier Segarra
+- feat: refs #8087 reactive data by:jorgep
+- feat: refs #8087 refs#8087 Redadas en travel by:Carlos Andrรฉs
+- feat: refs #8138 add component ticket problems by:pablone
+- feat: refs #8163 add max length and more tests by:wbuezas
+- feat: refs #8163 add prop by:wbuezas
+- feat: refs #8163 add VnInput insert functionality and e2e test by:wbuezas
+- feat: refs #8163 limit with maxLength by:Javier Segarra
+- feat: refs #8163 maxLength SupplierFD account by:Javier Segarra
+- feat: refs #8163 maxLengthVnInput by:Javier Segarra
+- feat: refs #8163 use VnAccountNumber in VnAccountNumber by:Javier Segarra
+- feat: refs #8166 show notification by:jorgep
 
 ### Changed ๐Ÿ“ฆ
 
--   feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
--   perf: add dataCy by:Javier Segarra
--   perf: refs #7346 #7346 Imrpove interface dialog by:Javier Segarra
--   perf: refs #7346 #7346 use v-show instead v-if by:Javier Segarra
--   perf: refs #8036 currentFilter by:alexm
--   perf: refs #8061 filter autonomy by:Javier Segarra
--   perf: refs #8061 solve conflicts and random posCode it by:Javier Segarra
--   perf: refs #8061 use opts from VnSelect by:Javier Segarra
--   perf: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
--   perf: remove console by:Javier Segarra
--   perf: remove timeout by:Javier Segarra
--   perf: test command fillInForm by:Javier Segarra
--   refactor: refs #8162 remove comment by:wbuezas
--   refactor: remove unnecesary things by:wbuezas
+- feat: refs #8038 added new functionality in VnSelect and refactor styles by:Jon
+- perf: add dataCy by:Javier Segarra
+- perf: refs #7346 #7346 Imrpove interface dialog by:Javier Segarra
+- perf: refs #7346 #7346 use v-show instead v-if by:Javier Segarra
+- perf: refs #8036 currentFilter by:alexm
+- perf: refs #8061 filter autonomy by:Javier Segarra
+- perf: refs #8061 solve conflicts and random posCode it by:Javier Segarra
+- perf: refs #8061 use opts from VnSelect by:Javier Segarra
+- perf: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
+- perf: remove console by:Javier Segarra
+- perf: remove timeout by:Javier Segarra
+- perf: test command fillInForm by:Javier Segarra
+- refactor: refs #8162 remove comment by:wbuezas
+- refactor: remove unnecesary things by:wbuezas
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   fix: #8016 fetching data by:Javier Segarra
--   fix: icons by:jgallego
--   fix: refs #7229 download file by:jorgep
--   fix: refs #7229 remove catch by:jorgep
--   fix: refs #7229 set url by:jorgep
--   fix: refs #7229 test by:jorgep
--   fix: refs #7229 url by:jorgep
--   fix: refs #7229 url + test by:jorgep
--   fix: refs #7304 7304 clean warning by:carlossa
--   fix: refs #7304 fix list by:carlossa
--   fix: refs #7304 fix warning by:carlossa
--   fix: refs #7346 traslations by:jgallego
--   fix: refs #7529 add save by:carlossa
--   fix: refs #7529 fix e2e by:carlossa
--   fix: refs #7529 fix front by:carlossa
--   fix: refs #7529 fix scss by:carlossa
--   fix: refs #7529 fix te2e by:carlossa
--   fix: refs #7529 fix workerPit e2e by:carlossa
--   fix: refs #7529 front by:carlossa
--   fix: refs #8036 apply exprBuilder after save filters by:alexm
--   fix: refs #8036 only add where when required by:alexm
--   fix: refs #8038 solve conflicts by:Jon
--   fix: refs #8061 improve code dependencies (origin/8061_improve_newCP) by:Javier Segarra
--   fix: refs #8138 move component from ui folder by:pablone
--   fix: refs #8138 sme minor issues by:pablone
--   fix: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
--   fix: refs #8163 minor problem when keypress by:Javier Segarra
--   fix: refs #8166 show zone error by:jorgep
--   fix: removed selectedClient by:jgallego
--   refs #7529 fix workerPit by:carlossa
--   revert: refs #8061 test #8061 updates by:Javier Segarra
--   test: fix own test by:Javier Segarra
--   test: refs #8162 #8162 fix TicketList spec by:Javier Segarra
+- fix: #8016 fetching data by:Javier Segarra
+- fix: icons by:jgallego
+- fix: refs #7229 download file by:jorgep
+- fix: refs #7229 remove catch by:jorgep
+- fix: refs #7229 set url by:jorgep
+- fix: refs #7229 test by:jorgep
+- fix: refs #7229 url by:jorgep
+- fix: refs #7229 url + test by:jorgep
+- fix: refs #7304 7304 clean warning by:carlossa
+- fix: refs #7304 fix list by:carlossa
+- fix: refs #7304 fix warning by:carlossa
+- fix: refs #7346 traslations by:jgallego
+- fix: refs #7529 add save by:carlossa
+- fix: refs #7529 fix e2e by:carlossa
+- fix: refs #7529 fix front by:carlossa
+- fix: refs #7529 fix scss by:carlossa
+- fix: refs #7529 fix te2e by:carlossa
+- fix: refs #7529 fix workerPit e2e by:carlossa
+- fix: refs #7529 front by:carlossa
+- fix: refs #8036 apply exprBuilder after save filters by:alexm
+- fix: refs #8036 only add where when required by:alexm
+- fix: refs #8038 solve conflicts by:Jon
+- fix: refs #8061 improve code dependencies (origin/8061_improve_newCP) by:Javier Segarra
+- fix: refs #8138 move component from ui folder by:pablone
+- fix: refs #8138 sme minor issues by:pablone
+- fix: refs #8163 #8061 createNewPostCodeForm by:Javier Segarra
+- fix: refs #8163 minor problem when keypress by:Javier Segarra
+- fix: refs #8166 show zone error by:jorgep
+- fix: removed selectedClient by:jgallego
+- refs #7529 fix workerPit by:carlossa
+- revert: refs #8061 test #8061 updates by:Javier Segarra
+- test: fix own test by:Javier Segarra
+- test: refs #8162 #8162 fix TicketList spec by:Javier Segarra
 
 # Version 24.48 - 2024-11-25
 
 ### Added ๐Ÿ†•
 
--   chore: correct checkNotification (fix_customer_issues) by:alexm
--   chore: perf (warmFix_order_equalSalix) by:alexm
--   chore: refs #6818 add spaces by:jorgep
--   chore: refs #6818 drop useless code & comment by:jorgep
--   chore: refs #7273 sticky add btn & refactor by:jorgep
--   chore: refs #7524 fix test by:jorgep
--   chore: refs #8039 not required by:alexm
--   chore: refs #8078 fiz tests by:jorgep
--   chore: refs #8078 rollback ref by:jorgep
--   chore: remove console.log (warmFix_invoiceOut_Global) by:alexm
--   chore: typo (fix_itemType-redirection) by:alexm
--   feat: #6943 use openURL quasar by:Javier Segarra
--   feat: #7782 add cypress report by:Javier Segarra
--   feat: #7782 cypress.config watchForFileChanges by:Javier Segarra
--   feat: #7782 npm run resetDatabase by:Javier Segarra
--   feat: #7782 waitUntil domContentLoad by:Javier Segarra
--   feat: added composable to confirm orders by:Jon
--   feat: add /reports in gitignore (warmFix_reports_in_gitignore) by:alexm
--   feat: apply changes for customerModule by:Javier Segarra
--   feat: disabled buttons by:Javier Segarra
--   feat: move buttons to DescriptorMenu by:Javier Segarra
--   feat: refs #6818 add icon by:jorgep
--   feat: refs #6818 fetch url & default channel by:jorgep
--   feat: refs #6818 saysimple integration by:jorgep
--   feat: refs #6839 module searching (6839-addSearchMenu) by:jorgep
--   feat: refs #6839 normalize search by:jorgep
--   feat: refs #6919 sync entry data by:jorgep
--   feat: refs #7006 itemType basic data new inputs by:guillermo
--   feat: refs #7006 itemTypeLog added by:guillermo
--   feat: refs #7193 modified parking to use the scope and corrected small errors by:Jon
--   feat: refs #7206 added inactive label and corrected minor errors by:Jon
--   feat: refs #7308 #7308 remove warnings related to useSession by:Javier Segarra
--   feat: refs #7349 usa back con permisos by:jgallego
--   feat: refs #7524 add front test by:jorgep
--   feat: refs #7874 improve vn-notes ui by:jorgep
--   feat: refs #7970 notify changes by:Jon
--   feat(): refs #8039 canceledError not notify by:alexm
--   feat: refs #8039 notify error unify by:alexm
--   feat: refs #8039 show duplicate request in local by:alexm
--   feat: refs #8078 add shortcut multi selection by:jorgep
--   feat: refs #8078 add tests by:jorgep
--   feat: refs#8087 Redadas en travel by:Carlos Andrรฉs
--   feat: refs #8087 Traspasar redadas a travels by:Carlos Andrรฉs
--   feat: remove comments by:Javier Segarra
--   feat(Supplier): add companySize by:alexm
--   feat: use composable to unify logic by:Javier Segarra
--   feat(VnInput): empty to null by:alexm
--   feat(VnSelect): order data equal salix by:alexm
--   feat(VnSelect): refs #7136 add scroll (7136-vnSelect_paginate_simplify_2) by:alexm
+- chore: correct checkNotification (fix_customer_issues) by:alexm
+- chore: perf (warmFix_order_equalSalix) by:alexm
+- chore: refs #6818 add spaces by:jorgep
+- chore: refs #6818 drop useless code & comment by:jorgep
+- chore: refs #7273 sticky add btn & refactor by:jorgep
+- chore: refs #7524 fix test by:jorgep
+- chore: refs #8039 not required by:alexm
+- chore: refs #8078 fiz tests by:jorgep
+- chore: refs #8078 rollback ref by:jorgep
+- chore: remove console.log (warmFix_invoiceOut_Global) by:alexm
+- chore: typo (fix_itemType-redirection) by:alexm
+- feat: #6943 use openURL quasar by:Javier Segarra
+- feat: #7782 add cypress report by:Javier Segarra
+- feat: #7782 cypress.config watchForFileChanges by:Javier Segarra
+- feat: #7782 npm run resetDatabase by:Javier Segarra
+- feat: #7782 waitUntil domContentLoad by:Javier Segarra
+- feat: added composable to confirm orders by:Jon
+- feat: add /reports in gitignore (warmFix_reports_in_gitignore) by:alexm
+- feat: apply changes for customerModule by:Javier Segarra
+- feat: disabled buttons by:Javier Segarra
+- feat: move buttons to DescriptorMenu by:Javier Segarra
+- feat: refs #6818 add icon by:jorgep
+- feat: refs #6818 fetch url & default channel by:jorgep
+- feat: refs #6818 saysimple integration by:jorgep
+- feat: refs #6839 module searching (6839-addSearchMenu) by:jorgep
+- feat: refs #6839 normalize search by:jorgep
+- feat: refs #6919 sync entry data by:jorgep
+- feat: refs #7006 itemType basic data new inputs by:guillermo
+- feat: refs #7006 itemTypeLog added by:guillermo
+- feat: refs #7193 modified parking to use the scope and corrected small errors by:Jon
+- feat: refs #7206 added inactive label and corrected minor errors by:Jon
+- feat: refs #7308 #7308 remove warnings related to useSession by:Javier Segarra
+- feat: refs #7349 usa back con permisos by:jgallego
+- feat: refs #7524 add front test by:jorgep
+- feat: refs #7874 improve vn-notes ui by:jorgep
+- feat: refs #7970 notify changes by:Jon
+- feat(): refs #8039 canceledError not notify by:alexm
+- feat: refs #8039 notify error unify by:alexm
+- feat: refs #8039 show duplicate request in local by:alexm
+- feat: refs #8078 add shortcut multi selection by:jorgep
+- feat: refs #8078 add tests by:jorgep
+- feat: refs#8087 Redadas en travel by:Carlos Andrรฉs
+- feat: refs #8087 Traspasar redadas a travels by:Carlos Andrรฉs
+- feat: remove comments by:Javier Segarra
+- feat(Supplier): add companySize by:alexm
+- feat: use composable to unify logic by:Javier Segarra
+- feat(VnInput): empty to null by:alexm
+- feat(VnSelect): order data equal salix by:alexm
+- feat(VnSelect): refs #7136 add scroll (7136-vnSelect_paginate_simplify_2) by:alexm
 
 ### Changed ๐Ÿ“ฆ
 
--   chore: perf (warmFix_order_equalSalix) by:alexm
--   chore: refs #7273 sticky add btn & refactor by:jorgep
--   fix: better performance (warmFix_accountAcls) by:alexm
--   perf: minor bugs detected by:Javier Segarra
--   perf: refs #6943 #6943 merge command by:Javier Segarra
--   perf: refs #7283 #7283 declare composable inst4ead code duplicated by:Javier Segarra
--   perf: refs #7283 #7283 handle composable i18n by:Javier Segarra
--   perf: refs #7283 #7283 handle i18n by:Javier Segarra
--   perf: refs #7283 #7283 i18n params by:Javier Segarra
--   perf: refs #7308 #7308 remove comments by:Javier Segarra
--   perf: remove appendParams by:Javier Segarra
--   perf: use const in VnLocation by:Javier Segarra
--   perf: use required instead :required="true" by:Javier Segarra
--   refactor: apply QPopupProxy by:wbuezas
--   refactor: changed confirmOrder directory by:Jon
--   refactor: change keyup.enter for update:model-value by:wbuezas
--   refactor(InvoiceInBasicData): use VnDms by:alexm
--   refactor: modified composable by:Jon
--   refactor: refs #6818 change channel source by:jorgep
--   refactor: refs #6818 channel logic by:jorgep
--   refactor: refs #6919 export filter by:jorgep
--   refactor: refs #7132 1st wave of changes in global translations files by:Jon
--   refactor: refs #7132 account's module translations by:Jon
--   refactor: refs #7132 customer's module translations by:Jon
--   refactor: refs #7132 deleted pageTitles repeated by:Jon
--   refactor: refs #7132 delete duplicate translations' keys by:Jon
--   refactor: refs #7132 deleted useless code by:Jon
--   refactor: refs #7132 global translations files changed by:Jon
--   refactor: refs #7266 Changed method name by:guillermo
--   refactor: refs #7950 Created cmr model by:guillermo
--   refactor: refs #7970 added emit by:Jon
--   refactor: refs #7970 refactored VnConfirm to emit events by:Jon
--   refactor: refs #8185 modified LeftMenu to avoid duplicates by:Jon
--   refactor: remove unused variable by:wbuezas
--   refactor: revert catalog changes by:Jon
--   refactor: small change by:wbuezas
--   test: refactor e2e by:alexm
--   test: refs #8039 add hasNotify and, refactor: agencyWorkCenter test by:alexm
+- chore: perf (warmFix_order_equalSalix) by:alexm
+- chore: refs #7273 sticky add btn & refactor by:jorgep
+- fix: better performance (warmFix_accountAcls) by:alexm
+- perf: minor bugs detected by:Javier Segarra
+- perf: refs #6943 #6943 merge command by:Javier Segarra
+- perf: refs #7283 #7283 declare composable inst4ead code duplicated by:Javier Segarra
+- perf: refs #7283 #7283 handle composable i18n by:Javier Segarra
+- perf: refs #7283 #7283 handle i18n by:Javier Segarra
+- perf: refs #7283 #7283 i18n params by:Javier Segarra
+- perf: refs #7308 #7308 remove comments by:Javier Segarra
+- perf: remove appendParams by:Javier Segarra
+- perf: use const in VnLocation by:Javier Segarra
+- perf: use required instead :required="true" by:Javier Segarra
+- refactor: apply QPopupProxy by:wbuezas
+- refactor: changed confirmOrder directory by:Jon
+- refactor: change keyup.enter for update:model-value by:wbuezas
+- refactor(InvoiceInBasicData): use VnDms by:alexm
+- refactor: modified composable by:Jon
+- refactor: refs #6818 change channel source by:jorgep
+- refactor: refs #6818 channel logic by:jorgep
+- refactor: refs #6919 export filter by:jorgep
+- refactor: refs #7132 1st wave of changes in global translations files by:Jon
+- refactor: refs #7132 account's module translations by:Jon
+- refactor: refs #7132 customer's module translations by:Jon
+- refactor: refs #7132 deleted pageTitles repeated by:Jon
+- refactor: refs #7132 delete duplicate translations' keys by:Jon
+- refactor: refs #7132 deleted useless code by:Jon
+- refactor: refs #7132 global translations files changed by:Jon
+- refactor: refs #7266 Changed method name by:guillermo
+- refactor: refs #7950 Created cmr model by:guillermo
+- refactor: refs #7970 added emit by:Jon
+- refactor: refs #7970 refactored VnConfirm to emit events by:Jon
+- refactor: refs #8185 modified LeftMenu to avoid duplicates by:Jon
+- refactor: remove unused variable by:wbuezas
+- refactor: revert catalog changes by:Jon
+- refactor: small change by:wbuezas
+- test: refactor e2e by:alexm
+- test: refs #8039 add hasNotify and, refactor: agencyWorkCenter test by:alexm
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   chore: refs #7524 fix test by:jorgep
--   fix: better performance (warmFix_accountAcls) by:alexm
--   fix: catalog view category and type filter by:wbuezas
--   fix: category and tags filters by:Jon
--   fix: changed route.query by:Jon
--   fix: change type vnput by:Javier Segarra
--   fix(ClaimList): stateCode orderBy priority by:alexm
--   fix: entryFilters by:carlossa
--   fix: filter panel by:Jon
--   fix(InvoiceOutGlobal): parallelism by:alexm
--   fix: itemBotanical by:Javier Segarra
--   fix: itemType redirection and fix filters by:alexm
--   fix: logout spec (warmFix_logout.spec) by:alexm
--   fix: merge errors by:alexm
--   fix: order catalog by:wbuezas
--   fix: order catalog fixes by:wbuezas
--   fix: refs #6818 use right icon by:jorgep
--   fix: refs #6896 fixed module problems by:Jon
--   fix: refs #7193 fixed e2e test by:Jon
--   fix: refs #7206 deleted duplicate code by:Jon
--   fix: refs #7273 use same filter by:jorgep
--   fix: refs #7283 #7283 bugs by:Javier Segarra
--   fix: refs #7283 #7283 ItemDiary subToolbar by:Javier Segarra
--   fix: refs #7283 #7283 ItemSummary bugs by:Javier Segarra
--   fix: refs #7283 Account image resolution by:guillermo
--   fix: refs #7283 css by:jorgep
--   fix: refs #7283 filter by:carlossa
--   fix: refs #7283 fix image by:carlossa
--   fix: refs #7283 fix pr by:carlossa
--   fix: refs #7283 fix preview by:carlossa
--   fix: refs #7283 fix required by:carlossa
--   fix: refs #7283 item filters by:carlossa
--   fix: refs #7283 itemtype fix by:carlossa
--   fix: refs #7283 order translation by:carlossa
--   fix: refs #7283 preview by:carlossa
--   fix: refs #7283 tooltips !Item by:Javier Segarra
--   fix: refs #7306 clean warning by:carlossa
--   fix: refs #7310 clean warning by:carlossa
--   fix: refs #7323 locale #7396 by:jorgep
--   fix: refs #7323 show advanced fields by:jorgep
--   fix: refs #7349 dependencia no usada by:jgallego
--   fix: refs #7524 e2e & worker module by:jorgep
--   fix: refs #7874 add title by:jorgep
--   fix: refs #7874 show name by:jorgep
--   fix: refs #7943 use correct data-key by:jorgep
--   fix: refs #7943 use summary by:jorgep
--   fix: refs #8039 bad tests by:alexm
--   fix: refs #8039 o not handle unnecessary errors by:alexm
--   fix: refs #8078 e2e #7970 by:jorgep
--   fix: refs #8078 handleSelection by:jorgep
--   fix: refs #8078 improve cy command (8078-enableMultiSelection) by:jorgep
--   fix: refs #8078 improve handleSelection by:jorgep
--   fix: reset category by:wbuezas
--   fix: tag chips by:Jon
--   fix: vnSearchbar spec (warmFix_vnSearchBar.spec) by:alexm
--   fix(VnSelect): setOptions when applyFilter by:alexm
--   fix: worker test e2e by:Jon
--   Merge branch 'dev' into fix_customer_issues by:Javier Segarra
--   refactor: revert catalog changes by:Jon
--   refs #7283 fix conflicts by:carlossa
--   refs #7283 fix descriptorproxy by:carlossa
--   refs #7283 fixedPrice by:carlossa
--   refs #7283 fixedPrices by:carlossa
--   refs #7283 fix itemFixed by:carlossa
--   refs #7283 fix itemFixedPrice by:carlossa
--   refs #7283 fix itemMigration by:carlossa
--   refs #7283 fix itemMigration list filters by:carlossa
--   refs #7283 fix items by:carlossa
--   refs #7283 fix items error get images by:carlossa
--   refs #7283 fix items images by:carlossa
--   refs #7283 fix request by:carlossa
--   refs #7283 fix searchbar by:carlossa
--   refs #7283 fix viewSummary by:carlossa
--   refs #7283 fix yml list basicData by:carlossa
--   refs #7283 itemRequest fix by:carlossa
--   refs #7283 itemRequest fix deny by:carlossa
--   refs #7283 itemRequest fix reload by:carlossa
--   refs #72983 fix filters by:carlossa
--   revert: commit by:Javier Segarra
--   revert e57a253c6f649382da187d1129449d265fb26d3b by:Javier Segarra
--   test: #8162 fix clientList spec by:Javier Segarra
--   test: #8162 fix vnLocation spec by:Javier Segarra
--   test: fix arrayData by:Javier Segarra
--   test: fix e2e by:alexm
--   test: fix e2e by:Javier Segarra
--   test: refs #8039 fix WorkerNotification e2e by:alexm
--   test: refs #8039 fix ZoneWarehouse e2e by:alexm
--   warmfix: ItemLastEntries to date (origin/warmfix_itemLastEntriesFilter) by:Javier Segarra
+- chore: refs #7524 fix test by:jorgep
+- fix: better performance (warmFix_accountAcls) by:alexm
+- fix: catalog view category and type filter by:wbuezas
+- fix: category and tags filters by:Jon
+- fix: changed route.query by:Jon
+- fix: change type vnput by:Javier Segarra
+- fix(ClaimList): stateCode orderBy priority by:alexm
+- fix: entryFilters by:carlossa
+- fix: filter panel by:Jon
+- fix(InvoiceOutGlobal): parallelism by:alexm
+- fix: itemBotanical by:Javier Segarra
+- fix: itemType redirection and fix filters by:alexm
+- fix: logout spec (warmFix_logout.spec) by:alexm
+- fix: merge errors by:alexm
+- fix: order catalog by:wbuezas
+- fix: order catalog fixes by:wbuezas
+- fix: refs #6818 use right icon by:jorgep
+- fix: refs #6896 fixed module problems by:Jon
+- fix: refs #7193 fixed e2e test by:Jon
+- fix: refs #7206 deleted duplicate code by:Jon
+- fix: refs #7273 use same filter by:jorgep
+- fix: refs #7283 #7283 bugs by:Javier Segarra
+- fix: refs #7283 #7283 ItemDiary subToolbar by:Javier Segarra
+- fix: refs #7283 #7283 ItemSummary bugs by:Javier Segarra
+- fix: refs #7283 Account image resolution by:guillermo
+- fix: refs #7283 css by:jorgep
+- fix: refs #7283 filter by:carlossa
+- fix: refs #7283 fix image by:carlossa
+- fix: refs #7283 fix pr by:carlossa
+- fix: refs #7283 fix preview by:carlossa
+- fix: refs #7283 fix required by:carlossa
+- fix: refs #7283 item filters by:carlossa
+- fix: refs #7283 itemtype fix by:carlossa
+- fix: refs #7283 order translation by:carlossa
+- fix: refs #7283 preview by:carlossa
+- fix: refs #7283 tooltips !Item by:Javier Segarra
+- fix: refs #7306 clean warning by:carlossa
+- fix: refs #7310 clean warning by:carlossa
+- fix: refs #7323 locale #7396 by:jorgep
+- fix: refs #7323 show advanced fields by:jorgep
+- fix: refs #7349 dependencia no usada by:jgallego
+- fix: refs #7524 e2e & worker module by:jorgep
+- fix: refs #7874 add title by:jorgep
+- fix: refs #7874 show name by:jorgep
+- fix: refs #7943 use correct data-key by:jorgep
+- fix: refs #7943 use summary by:jorgep
+- fix: refs #8039 bad tests by:alexm
+- fix: refs #8039 o not handle unnecessary errors by:alexm
+- fix: refs #8078 e2e #7970 by:jorgep
+- fix: refs #8078 handleSelection by:jorgep
+- fix: refs #8078 improve cy command (8078-enableMultiSelection) by:jorgep
+- fix: refs #8078 improve handleSelection by:jorgep
+- fix: reset category by:wbuezas
+- fix: tag chips by:Jon
+- fix: vnSearchbar spec (warmFix_vnSearchBar.spec) by:alexm
+- fix(VnSelect): setOptions when applyFilter by:alexm
+- fix: worker test e2e by:Jon
+- Merge branch 'dev' into fix_customer_issues by:Javier Segarra
+- refactor: revert catalog changes by:Jon
+- refs #7283 fix conflicts by:carlossa
+- refs #7283 fix descriptorproxy by:carlossa
+- refs #7283 fixedPrice by:carlossa
+- refs #7283 fixedPrices by:carlossa
+- refs #7283 fix itemFixed by:carlossa
+- refs #7283 fix itemFixedPrice by:carlossa
+- refs #7283 fix itemMigration by:carlossa
+- refs #7283 fix itemMigration list filters by:carlossa
+- refs #7283 fix items by:carlossa
+- refs #7283 fix items error get images by:carlossa
+- refs #7283 fix items images by:carlossa
+- refs #7283 fix request by:carlossa
+- refs #7283 fix searchbar by:carlossa
+- refs #7283 fix viewSummary by:carlossa
+- refs #7283 fix yml list basicData by:carlossa
+- refs #7283 itemRequest fix by:carlossa
+- refs #7283 itemRequest fix deny by:carlossa
+- refs #7283 itemRequest fix reload by:carlossa
+- refs #72983 fix filters by:carlossa
+- revert: commit by:Javier Segarra
+- revert e57a253c6f649382da187d1129449d265fb26d3b by:Javier Segarra
+- test: #8162 fix clientList spec by:Javier Segarra
+- test: #8162 fix vnLocation spec by:Javier Segarra
+- test: fix arrayData by:Javier Segarra
+- test: fix e2e by:alexm
+- test: fix e2e by:Javier Segarra
+- test: refs #8039 fix WorkerNotification e2e by:alexm
+- test: refs #8039 fix ZoneWarehouse e2e by:alexm
+- warmfix: ItemLastEntries to date (origin/warmfix_itemLastEntriesFilter) by:Javier Segarra
 
 # Version 24.40 - 2024-10-02
 
 ### Added ๐Ÿ†•
 
--   chore: refs #4074 admit several acls by:jorgep
--   chore: refs #4074 drop workerCreate by:jorgep
--   chore: refs #4074 fix tests by:jorgep
--   chore: refs #4074 wip replace useRole for useAcl by:jorgep
--   chore: refs #7155 remove console.log by:alexm
--   chore: refs #7155 typo by:alexm
--   chore: refs #7663 add test by:jorgep
--   chore: refs #7663 create test wip by:jorgep
--   chore: refs #7663 drop useless code (origin/7663-setWeight) by:jorgep
--   chore: refs #7828 fix e2e by:jorgep
--   feat(AccountBasicData): add twoFactorFk by:alexm
--   feat: add max rule by:Javier Segarra
--   feat: add shortcut add event in some subSections by:Javier Segarra
--   feat: add shortcut more buttons (origin/add_shortcut_add_subSections) by:Javier Segarra
--   feat: add tooltip CustomerNewCustomAgent by:Javier Segarra
--   feat: apply color when today by:Javier Segarra
--   feat: change label because its more natural by:Javier Segarra
--   feat: change order by:Javier Segarra
--   feat: change QBadge color by:Javier Segarra
--   feat: change url CustomerList by:Javier Segarra
--   feat: copy customer countryFk by:Javier Segarra
--   feat: create VnSelectEnum and add in AccountBasicData and ClaimBasicData by:alexm
--   feat: CustomerBalance by:Javier Segarra
--   feat: CustomerConsumptionFilter by:Javier Segarra
--   feat: customer consumption (origin/7830-customerDesplegables, 7830-customerDesplegables) by:alexm
--   feat: CustomerCreateTicket by:Javier Segarra
--   feat: CustomerCredit section by:Javier Segarra
--   feat: CustomerGreuges by:Javier Segarra
--   feat: CustomerSample to VnTable by:Javier Segarra
--   feat: global handler (origin/fix_global_handler, fix_global_handler) by:alexm
--   feat: goToSupplier by:Javier Segarra
--   feat: handle newValue by:Javier Segarra
--   feat: handle same multiple CP by:Javier Segarra
--   feat: hide menus on small view (origin/hideMenu) by:jorgep
--   feat: minor changes by:Javier Segarra
--   feat: orderCreateDialog by:Javier Segarra
--   feat: refs #4074 drop useless code by:jorgep
--   feat: refs #4074 useAcl in vnSelectDialog by:jorgep
--   feat: refs #6346 new wagon type section by:Jon
--   feat: refs #7404 add m3 and fix detail by:pablone
--   feat: refs #7404 add some style to the form and reorganize fields by:pablone
--   feat: refs #7404 add travel m3 to reserves form by:pablone
--   feat: refs #7404 style dynamic text color by:pablone
--   feat: refs #7404 travel m3 form by:pablone
--   feat: refs #7500 added VnImg to show files by:Jon
--   feat: refs #7663 add setWeight menu opt (wip) by:jorgep
--   feat: refs #7663 fine tunning by:jorgep
--   feat: refs #7828 create axios instance which no manage errors (origin/7828-makeCorrectCalls) by:jorgep
--   feat: refs #7828 useAcl & cherry pick mail data worker by:jorgep
--   feat: remove cli warnings by:Javier Segarra
--   feat: show preparation field by:Javier Segarra
--   feat: stateGroupedFilter by:Javier Segarra
--   feat: translations fixed by:jgallego
--   feat(TravelList): add daysOnward by:alexm
--   feat: travel m3 by:pablone
--   feat: use disableInifiniteScroll property by:Javier Segarra
--   feat: VnImg draggable by:Javier Segarra
--   feat: vnLocation changes by:Javier Segarra
--   feat: vnSelect exprBuilder by:Javier Segarra
--   fix: refs #7404 remove some style by:pablone
--   fix: refs #7404 style non center pop up (origin/7404-fixFront) by:pablone
--   fix: refs #7404 translates and some minor style fixes by:pablone
--   fix: styles by:Javier Segarra
--   perf: improve style by:Javier Segarra
+- chore: refs #4074 admit several acls by:jorgep
+- chore: refs #4074 drop workerCreate by:jorgep
+- chore: refs #4074 fix tests by:jorgep
+- chore: refs #4074 wip replace useRole for useAcl by:jorgep
+- chore: refs #7155 remove console.log by:alexm
+- chore: refs #7155 typo by:alexm
+- chore: refs #7663 add test by:jorgep
+- chore: refs #7663 create test wip by:jorgep
+- chore: refs #7663 drop useless code (origin/7663-setWeight) by:jorgep
+- chore: refs #7828 fix e2e by:jorgep
+- feat(AccountBasicData): add twoFactorFk by:alexm
+- feat: add max rule by:Javier Segarra
+- feat: add shortcut add event in some subSections by:Javier Segarra
+- feat: add shortcut more buttons (origin/add_shortcut_add_subSections) by:Javier Segarra
+- feat: add tooltip CustomerNewCustomAgent by:Javier Segarra
+- feat: apply color when today by:Javier Segarra
+- feat: change label because its more natural by:Javier Segarra
+- feat: change order by:Javier Segarra
+- feat: change QBadge color by:Javier Segarra
+- feat: change url CustomerList by:Javier Segarra
+- feat: copy customer countryFk by:Javier Segarra
+- feat: create VnSelectEnum and add in AccountBasicData and ClaimBasicData by:alexm
+- feat: CustomerBalance by:Javier Segarra
+- feat: CustomerConsumptionFilter by:Javier Segarra
+- feat: customer consumption (origin/7830-customerDesplegables, 7830-customerDesplegables) by:alexm
+- feat: CustomerCreateTicket by:Javier Segarra
+- feat: CustomerCredit section by:Javier Segarra
+- feat: CustomerGreuges by:Javier Segarra
+- feat: CustomerSample to VnTable by:Javier Segarra
+- feat: global handler (origin/fix_global_handler, fix_global_handler) by:alexm
+- feat: goToSupplier by:Javier Segarra
+- feat: handle newValue by:Javier Segarra
+- feat: handle same multiple CP by:Javier Segarra
+- feat: hide menus on small view (origin/hideMenu) by:jorgep
+- feat: minor changes by:Javier Segarra
+- feat: orderCreateDialog by:Javier Segarra
+- feat: refs #4074 drop useless code by:jorgep
+- feat: refs #4074 useAcl in vnSelectDialog by:jorgep
+- feat: refs #6346 new wagon type section by:Jon
+- feat: refs #7404 add m3 and fix detail by:pablone
+- feat: refs #7404 add some style to the form and reorganize fields by:pablone
+- feat: refs #7404 add travel m3 to reserves form by:pablone
+- feat: refs #7404 style dynamic text color by:pablone
+- feat: refs #7404 travel m3 form by:pablone
+- feat: refs #7500 added VnImg to show files by:Jon
+- feat: refs #7663 add setWeight menu opt (wip) by:jorgep
+- feat: refs #7663 fine tunning by:jorgep
+- feat: refs #7828 create axios instance which no manage errors (origin/7828-makeCorrectCalls) by:jorgep
+- feat: refs #7828 useAcl & cherry pick mail data worker by:jorgep
+- feat: remove cli warnings by:Javier Segarra
+- feat: show preparation field by:Javier Segarra
+- feat: stateGroupedFilter by:Javier Segarra
+- feat: translations fixed by:jgallego
+- feat(TravelList): add daysOnward by:alexm
+- feat: travel m3 by:pablone
+- feat: use disableInifiniteScroll property by:Javier Segarra
+- feat: VnImg draggable by:Javier Segarra
+- feat: vnLocation changes by:Javier Segarra
+- feat: vnSelect exprBuilder by:Javier Segarra
+- fix: refs #7404 remove some style by:pablone
+- fix: refs #7404 style non center pop up (origin/7404-fixFront) by:pablone
+- fix: refs #7404 translates and some minor style fixes by:pablone
+- fix: styles by:Javier Segarra
+- perf: improve style by:Javier Segarra
 
 ### Changed ๐Ÿ“ฆ
 
--   perf: CustomerBalance by:Javier Segarra
--   perf: CustomerBasicData by:Javier Segarra
--   perf: CustomerBasicData.salesPersonFk by:Javier Segarra
--   perf: CustomerSummary by:Javier Segarra
--   perf: customerSummaryTable by:Javier Segarra
--   perf: disable card option by:Javier Segarra
--   perf: i18n by:Javier Segarra
--   perf: improve by:Javier Segarra
--   perf: improve style by:Javier Segarra
--   perf: imrpove exprBuilder by:Javier Segarra
--   perf: minor comments by:Javier Segarra
--   perf: refs #6346 previous changes by:Jon
--   perf: sendEmail customerConsumption by:Javier Segarra
--   perf: solve reload CardSummary component by:Javier Segarra
--   perf: update CustommerDescriptor by:Javier Segarra
--   refactor: refs #4074 accept array by:jorgep
--   refactor: refs #4074 rollback by:jorgep
--   refactor: refs #4074 use acl & drop useless roles by:jorgep
--   refactor: refs #4074 useAcl in navigationStore & router by:jorgep
--   refactor: refs #4074 use fn (origin/4074-useAcls) by:jorgep
--   refactor: refs #4074 use VnTitle by:jorgep
--   refactor: refs #6346 deleted front error checking by:Jon
--   refactor: refs #6346 requested changes by:Jon
--   refactor: refs #6346 wagons to VnTable by:Jon
--   refactor: refs #7500 deleted useless code by:Jon
--   refactor: refs #7500 refactor vnimg when storage is dms by:Jon
--   refactor: refs #7828 wip by:jorgep
+- perf: CustomerBalance by:Javier Segarra
+- perf: CustomerBasicData by:Javier Segarra
+- perf: CustomerBasicData.salesPersonFk by:Javier Segarra
+- perf: CustomerSummary by:Javier Segarra
+- perf: customerSummaryTable by:Javier Segarra
+- perf: disable card option by:Javier Segarra
+- perf: i18n by:Javier Segarra
+- perf: improve by:Javier Segarra
+- perf: improve style by:Javier Segarra
+- perf: imrpove exprBuilder by:Javier Segarra
+- perf: minor comments by:Javier Segarra
+- perf: refs #6346 previous changes by:Jon
+- perf: sendEmail customerConsumption by:Javier Segarra
+- perf: solve reload CardSummary component by:Javier Segarra
+- perf: update CustommerDescriptor by:Javier Segarra
+- refactor: refs #4074 accept array by:jorgep
+- refactor: refs #4074 rollback by:jorgep
+- refactor: refs #4074 use acl & drop useless roles by:jorgep
+- refactor: refs #4074 useAcl in navigationStore & router by:jorgep
+- refactor: refs #4074 use fn (origin/4074-useAcls) by:jorgep
+- refactor: refs #4074 use VnTitle by:jorgep
+- refactor: refs #6346 deleted front error checking by:Jon
+- refactor: refs #6346 requested changes by:Jon
+- refactor: refs #6346 wagons to VnTable by:Jon
+- refactor: refs #7500 deleted useless code by:Jon
+- refactor: refs #7500 refactor vnimg when storage is dms by:Jon
+- refactor: refs #7828 wip by:jorgep
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   chore: refs #4074 fix tests by:jorgep
--   chore: refs #7828 fix e2e by:jorgep
--   feat: refs #7404 add m3 and fix detail by:pablone
--   feat: translations fixed by:jgallego
--   fix: #5938 grouped filter by:Javier Segarra
--   fix: #6943 fix customerSummaryTable by:Javier Segarra
--   fix: #6943 show nickname salesPerson by:Javier Segarra
--   fix: address-create i18n by:Javier Segarra
--   fix: comments (origin/6943_fix_customer_module, 6943_fix_customer_module) by:Javier Segarra
--   fix: CusomerSummary to Address by:Javier Segarra
--   fix: CustomerAddress mobile by:Javier Segarra
--   fix: CustomerBillingData by:Javier Segarra
--   fix: Customerconsumption by:Javier Segarra
--   fix: customer credit opinion by:alexm
--   fix: CustomerCreditOpinion workerDescriptor by:Javier Segarra
--   fix: CustomerDescriptorAccount by:Javier Segarra
--   fix: CustomerDescriptor.bussinessTypeFk by:Javier Segarra
--   fix: CustomerFilter by:Javier Segarra
--   fix: CustomerGreuges by:Javier Segarra
--   fix: CustomerMandates by:Javier Segarra
--   fix: Customer module find salesPersons out of first get by:Javier Segarra
--   fix: CustomerRecovery transalate label by:Javier Segarra
--   fix: CustomerSamples by:Javier Segarra
--   fix: customerSummaryToTicketList button by:Javier Segarra
--   fix: CustomerWebPayment by:Javier Segarra
--   fix: CustommerSummaryTable Proxy by:Javier Segarra
--   fix: deleted code by:Jon
--   fix: duplicate code by:alexm
--   fix: emit:updateModelValue by:Javier Segarra
--   fix: fixed wagon tests by:Jon
--   fix: fix wagon list reload by:Jon
--   fix: i18n en preparation label by:Javier Segarra
--   fix: infiniteScroll by:Javier Segarra
--   fix: isFullMovable checkbox by:Javier Segarra
--   fix: merge conflicts by:Javier Segarra
--   fix: merge in dev by:alexm
--   fix: missing code by:Jon
--   fix: Options VnSelect properties by:Javier Segarra
--   fix: refs #4074 await to watch by:jorgep
--   fix: refs #4074 drop wrong acl by:jorgep
--   fix: refs #4074 workerCard data-key by:jorgep
--   fix: refs #6346 fix list and create by:pablone
--   fix: refs #6943 prevent null (origin/6943-warmfix-preventNull) by:jorgep
--   fix: refs #7155 remove userParams in watcher (7155-travel_daysOnward) by:alexm
--   fix: refs #7155 use chip-locale (origin/7155-travel_daysOnward_2, 7155-travel_daysOnward_2) by:alexm
--   fix: refs #7404 remove console.log by:pablone
--   fix: refs #7404 remove from test by:pablone
--   fix: refs #7404 remove some style by:pablone
--   fix: refs #7404 revert commit prevent production access by:pablone
--   fix: refs #7404 style non center pop up (origin/7404-fixFront) by:pablone
--   fix: refs #7404 translates and some minor style fixes by:pablone
--   fix: refs #7500 fixed e2e test by:Jon
--   fix: refs #7500 fixed showing images wrongly by:Jon
--   fix: refs #7830 customer credit by:pablone
--   fix: refs #7830 remove console.log by:pablone
--   fix: remove console.log by:pablone
--   fix: remove FetchData by:Javier Segarra
--   fix: remove FIXME (origin/6943_fix_customerSummaryTable) by:Javier Segarra
--   fix: remove print variable by:Javier Segarra
--   fix: remove promise execution by:Javier Segarra
--   fix: reset VnTable scroll properties by:Javier Segarra
--   fix: rule by:Javier Segarra
--   fix: solve conflicts from master to test by:Javier Segarra
--   fix: split params (origin/warmfix-addSearchUrl) by:jorgep
--   fix: state cell by:Javier Segarra
--   fix: stop call back event hasMoreData by:Javier Segarra
--   fix: styles by:Javier Segarra
--   fix: SupplierFiscalData VnLocation (origin/fix_supplierFD_location) by:Javier Segarra
--   fix: VnLocation test by:Javier Segarra
--   fix(VnTable): header background-color by:alexm
--   fix(VnTable): sanitizer value is defined by:carlossa
--   fix: wagon reload (origin/FixWagonRedirect) by:Jon
--   fix: workerDms filter workerFk by:alexm
--   fix(WorkerList): add type email by:alexm
--   Merge remote-tracking branch 'origin/7830-customerDesplegables' into 6943_fix_customerSummaryTable by:Javier Segarra
--   refs #7155 scopeDays fix (origin/7155-scopeDays) by:carlossa
--   revert: vnUSerLink change by:Javier Segarra
--   test: fix test (7677_vnLocation_perf) by:Javier Segarra
+- chore: refs #4074 fix tests by:jorgep
+- chore: refs #7828 fix e2e by:jorgep
+- feat: refs #7404 add m3 and fix detail by:pablone
+- feat: translations fixed by:jgallego
+- fix: #5938 grouped filter by:Javier Segarra
+- fix: #6943 fix customerSummaryTable by:Javier Segarra
+- fix: #6943 show nickname salesPerson by:Javier Segarra
+- fix: address-create i18n by:Javier Segarra
+- fix: comments (origin/6943_fix_customer_module, 6943_fix_customer_module) by:Javier Segarra
+- fix: CusomerSummary to Address by:Javier Segarra
+- fix: CustomerAddress mobile by:Javier Segarra
+- fix: CustomerBillingData by:Javier Segarra
+- fix: Customerconsumption by:Javier Segarra
+- fix: customer credit opinion by:alexm
+- fix: CustomerCreditOpinion workerDescriptor by:Javier Segarra
+- fix: CustomerDescriptorAccount by:Javier Segarra
+- fix: CustomerDescriptor.bussinessTypeFk by:Javier Segarra
+- fix: CustomerFilter by:Javier Segarra
+- fix: CustomerGreuges by:Javier Segarra
+- fix: CustomerMandates by:Javier Segarra
+- fix: Customer module find salesPersons out of first get by:Javier Segarra
+- fix: CustomerRecovery transalate label by:Javier Segarra
+- fix: CustomerSamples by:Javier Segarra
+- fix: customerSummaryToTicketList button by:Javier Segarra
+- fix: CustomerWebPayment by:Javier Segarra
+- fix: CustommerSummaryTable Proxy by:Javier Segarra
+- fix: deleted code by:Jon
+- fix: duplicate code by:alexm
+- fix: emit:updateModelValue by:Javier Segarra
+- fix: fixed wagon tests by:Jon
+- fix: fix wagon list reload by:Jon
+- fix: i18n en preparation label by:Javier Segarra
+- fix: infiniteScroll by:Javier Segarra
+- fix: isFullMovable checkbox by:Javier Segarra
+- fix: merge conflicts by:Javier Segarra
+- fix: merge in dev by:alexm
+- fix: missing code by:Jon
+- fix: Options VnSelect properties by:Javier Segarra
+- fix: refs #4074 await to watch by:jorgep
+- fix: refs #4074 drop wrong acl by:jorgep
+- fix: refs #4074 workerCard data-key by:jorgep
+- fix: refs #6346 fix list and create by:pablone
+- fix: refs #6943 prevent null (origin/6943-warmfix-preventNull) by:jorgep
+- fix: refs #7155 remove userParams in watcher (7155-travel_daysOnward) by:alexm
+- fix: refs #7155 use chip-locale (origin/7155-travel_daysOnward_2, 7155-travel_daysOnward_2) by:alexm
+- fix: refs #7404 remove console.log by:pablone
+- fix: refs #7404 remove from test by:pablone
+- fix: refs #7404 remove some style by:pablone
+- fix: refs #7404 revert commit prevent production access by:pablone
+- fix: refs #7404 style non center pop up (origin/7404-fixFront) by:pablone
+- fix: refs #7404 translates and some minor style fixes by:pablone
+- fix: refs #7500 fixed e2e test by:Jon
+- fix: refs #7500 fixed showing images wrongly by:Jon
+- fix: refs #7830 customer credit by:pablone
+- fix: refs #7830 remove console.log by:pablone
+- fix: remove console.log by:pablone
+- fix: remove FetchData by:Javier Segarra
+- fix: remove FIXME (origin/6943_fix_customerSummaryTable) by:Javier Segarra
+- fix: remove print variable by:Javier Segarra
+- fix: remove promise execution by:Javier Segarra
+- fix: reset VnTable scroll properties by:Javier Segarra
+- fix: rule by:Javier Segarra
+- fix: solve conflicts from master to test by:Javier Segarra
+- fix: split params (origin/warmfix-addSearchUrl) by:jorgep
+- fix: state cell by:Javier Segarra
+- fix: stop call back event hasMoreData by:Javier Segarra
+- fix: styles by:Javier Segarra
+- fix: SupplierFiscalData VnLocation (origin/fix_supplierFD_location) by:Javier Segarra
+- fix: VnLocation test by:Javier Segarra
+- fix(VnTable): header background-color by:alexm
+- fix(VnTable): sanitizer value is defined by:carlossa
+- fix: wagon reload (origin/FixWagonRedirect) by:Jon
+- fix: workerDms filter workerFk by:alexm
+- fix(WorkerList): add type email by:alexm
+- Merge remote-tracking branch 'origin/7830-customerDesplegables' into 6943_fix_customerSummaryTable by:Javier Segarra
+- refs #7155 scopeDays fix (origin/7155-scopeDays) by:carlossa
+- revert: vnUSerLink change by:Javier Segarra
+- test: fix test (7677_vnLocation_perf) by:Javier Segarra
 
 # Version 24.38 - 2024-09-17
 
 ### Added ๐Ÿ†•
 
--   chore: refs #6772 fix e2e (origin/6772-warmfix-fixE2e) by:jorgep
--   chore: refs #7323 worker changes by:jorgep
--   chore: refs #7353 fix warnings by:jorgep
--   chore: refs #7353 use Vue component nomenclature by:jorgep
--   chore: refs #7356 fix type by:jorgep
--   feat(AccountConnections): use VnToken by:alexm
--   feat: add key to routerView by:Javier Segarra
--   feat: add plus shortcut in VnTable by:Javier Segarra
--   feat: add row by:Javier Segarra
--   feat: addRow withour dialog by:Javier Segarra
--   feat: apply mixin by:Javier Segarra
--   feat by:Javier Segarra
--   feat: change navBar buttons by:Javier Segarra
--   feat: dense rows by:Javier Segarra
--   feat: fields with wrong name by:jgallego
--   feat: fix bugs and filters by:Javier Segarra
--   feat: fix refund parameters by:jgallego
--   feat: handle create row by:Javier Segarra
--   feat: handle dates by:Javier Segarra
--   feat: handle qCheckbox 3rd state by:Javier Segarra
--   feat: imrpove VnInputTime to set cursor at start by:Javier Segarra
--   feat: keyShortcut directive by:Javier Segarra
--   feat: minor fixes by:jgallego
--   feat: only filter by isDestiny by:Javier Segarra
--   feat: refs #211153 businessDataLinkGrafana by:robert
--   feat: refs #7129 add km start and end on create form by:pablone
--   feat: refs #7353 add filter & fix customTags by:jorgep
--   feat: refs #7353 add locale by:jorgep
--   feat: refs #7353 add no one opt by:jorgep
--   feat: refs #7353 add right icons by:jorgep
--   feat: refs #7353 imporve toDateFormat by:jorgep
--   feat: refs #7353 salesPerson nickname & id by:jorgep
--   feat: refs #7353 split sections by:jorgep
--   feat: refs #7847 remove reload btn by:jorgep
--   feat: refs #7847 remove reload fn by:jorgep
--   feat: refs #7889 added shortcuts to modules by:Jon
--   feat: refs #7911 added shortcut to modules by:Jon
--   feat: refuncInvoiceForm component by:jgallego
--   feat: remove duplicity by:Javier Segarra
--   feat: remove future itemFixedPrices by:Javier Segarra
--   feat: replace stickyButtons by subtoolbar by:Javier Segarra
--   feat: required validation by:Javier Segarra
--   feat: show bad dates by:Javier Segarra
--   feat: showdate icons by:Javier Segarra
--   feat: solve ItemFixedFilterPanel by:Javier Segarra
--   feat: transfer an invoice by:jgallego
--   feat: try to fix ItemFixedFilterPanel by:Javier Segarra
--   feat: unnecessary changes by:Javier Segarra
--   feat: update changelog (origin/7896_down_devToTest_2436) by:Javier Segarra
--   feat: updates by:Javier Segarra
--   feat: update version and changelog by:Javier Segarra
--   feat: vnInput\* by:Javier Segarra
--   feat: with VnTable by:Javier Segarra
--   refs #6772 feat: fix approach by:Javier Segarra
--   refs #6772 feat: refresh shelving.basic-data by:Javier Segarra
--   style: show subName value by:Javier Segarra
+- chore: refs #6772 fix e2e (origin/6772-warmfix-fixE2e) by:jorgep
+- chore: refs #7323 worker changes by:jorgep
+- chore: refs #7353 fix warnings by:jorgep
+- chore: refs #7353 use Vue component nomenclature by:jorgep
+- chore: refs #7356 fix type by:jorgep
+- feat(AccountConnections): use VnToken by:alexm
+- feat: add key to routerView by:Javier Segarra
+- feat: add plus shortcut in VnTable by:Javier Segarra
+- feat: add row by:Javier Segarra
+- feat: addRow withour dialog by:Javier Segarra
+- feat: apply mixin by:Javier Segarra
+- feat by:Javier Segarra
+- feat: change navBar buttons by:Javier Segarra
+- feat: dense rows by:Javier Segarra
+- feat: fields with wrong name by:jgallego
+- feat: fix bugs and filters by:Javier Segarra
+- feat: fix refund parameters by:jgallego
+- feat: handle create row by:Javier Segarra
+- feat: handle dates by:Javier Segarra
+- feat: handle qCheckbox 3rd state by:Javier Segarra
+- feat: imrpove VnInputTime to set cursor at start by:Javier Segarra
+- feat: keyShortcut directive by:Javier Segarra
+- feat: minor fixes by:jgallego
+- feat: only filter by isDestiny by:Javier Segarra
+- feat: refs #211153 businessDataLinkGrafana by:robert
+- feat: refs #7129 add km start and end on create form by:pablone
+- feat: refs #7353 add filter & fix customTags by:jorgep
+- feat: refs #7353 add locale by:jorgep
+- feat: refs #7353 add no one opt by:jorgep
+- feat: refs #7353 add right icons by:jorgep
+- feat: refs #7353 imporve toDateFormat by:jorgep
+- feat: refs #7353 salesPerson nickname & id by:jorgep
+- feat: refs #7353 split sections by:jorgep
+- feat: refs #7847 remove reload btn by:jorgep
+- feat: refs #7847 remove reload fn by:jorgep
+- feat: refs #7889 added shortcuts to modules by:Jon
+- feat: refs #7911 added shortcut to modules by:Jon
+- feat: refuncInvoiceForm component by:jgallego
+- feat: remove duplicity by:Javier Segarra
+- feat: remove future itemFixedPrices by:Javier Segarra
+- feat: replace stickyButtons by subtoolbar by:Javier Segarra
+- feat: required validation by:Javier Segarra
+- feat: show bad dates by:Javier Segarra
+- feat: showdate icons by:Javier Segarra
+- feat: solve ItemFixedFilterPanel by:Javier Segarra
+- feat: transfer an invoice by:jgallego
+- feat: try to fix ItemFixedFilterPanel by:Javier Segarra
+- feat: unnecessary changes by:Javier Segarra
+- feat: update changelog (origin/7896_down_devToTest_2436) by:Javier Segarra
+- feat: updates by:Javier Segarra
+- feat: update version and changelog by:Javier Segarra
+- feat: vnInput\* by:Javier Segarra
+- feat: with VnTable by:Javier Segarra
+- refs #6772 feat: fix approach by:Javier Segarra
+- refs #6772 feat: refresh shelving.basic-data by:Javier Segarra
+- style: show subName value by:Javier Segarra
 
 ### Changed ๐Ÿ“ฆ
 
--   perf: add v-shortcut in VnCard by:Javier Segarra
--   perf: approach by:Javier Segarra
--   perf: change directive location by:Javier Segarra
--   perf: change slots order by:Javier Segarra
--   perf: examples by:Javier Segarra
--   perf: hide icon for VnInputDate by:Javier Segarra
--   perf: improve ItemFixedPricefilterPanel by:Javier Segarra
--   perf: improve mainShrotcutMixin by:Javier Segarra
--   perf: minor clean code by:Javier Segarra
--   perf: onRowchange by:Javier Segarra
--   perf: order by by:Javier Segarra
--   perf: order components by:Javier Segarra
--   perf: refs #7889 perf shortcut test by:Jon
--   perf: remove console.log by:Javier Segarra
--   perf: remove icons in header slot by:Javier Segarra
--   perf: remove print variables by:Javier Segarra
--   perf: restore CustomerBasicData by:Javier Segarra
--   refactor: deleted useless prop by:Jon
--   refactor: deleted useless prop in FetchedTags by:Jon
--   refactor: refs #7323 drop useless code by:jorgep
--   refactor: refs #7353 clients correction by:jorgep
--   refactor: refs #7353 clients correction wip by:jorgep
--   refactor: refs #7353 ease logic by:jorgep
--   refactor: refs #7353 order correction by:jorgep
--   refactor: refs #7353 simplify code by:jorgep
--   refactor: refs #7353 tickets correction by:jorgep
--   refactor: refs #7353 use global locales by:jorgep
--   refactor: refs #7354 changed descriptor menu options by:Jon
--   refactor: refs #7354 changed icon color in table and notification when deleting a zone by:Jon
--   refactor: refs #7354 fix tableFilters by:Jon
--   refactor: refs #7354 modified VnInputTime by:Jon
--   refactor: refs #7354 refactor deliveryPanel by:Jon
--   refactor: refs #7354 refactor zones section and fixed e2e tests by:Jon
--   refactor: refs #7354 requested changes by:Jon
--   refactor: refs #7354 reverse deliveryPanel changes by:Jon
--   refactor: refs #7354 Zone migration changes by:Jon
--   refactor: refs #7889 deleted subtitle attr and use keyBinding instead by:Jon
--   refactor: refs #7889 modified shortcut and dashboard, and added tootlip in LeftMenu by:Jon
--   refs #6722 perf: not fetch when id not exists by:Javier Segarra
--   refs #6772 perf: change variable name by:JAVIER SEGARRA MARTINEZ
--   refs #6772 perf: use ArrayData (6772_reload_sections) by:Javier Segarra
--   refs #7283 refactor fix ItemDescriptor by:carlossa
--   refs #7283 refactor ItexDescriptor by:carlossa
+- perf: add v-shortcut in VnCard by:Javier Segarra
+- perf: approach by:Javier Segarra
+- perf: change directive location by:Javier Segarra
+- perf: change slots order by:Javier Segarra
+- perf: examples by:Javier Segarra
+- perf: hide icon for VnInputDate by:Javier Segarra
+- perf: improve ItemFixedPricefilterPanel by:Javier Segarra
+- perf: improve mainShrotcutMixin by:Javier Segarra
+- perf: minor clean code by:Javier Segarra
+- perf: onRowchange by:Javier Segarra
+- perf: order by by:Javier Segarra
+- perf: order components by:Javier Segarra
+- perf: refs #7889 perf shortcut test by:Jon
+- perf: remove console.log by:Javier Segarra
+- perf: remove icons in header slot by:Javier Segarra
+- perf: remove print variables by:Javier Segarra
+- perf: restore CustomerBasicData by:Javier Segarra
+- refactor: deleted useless prop by:Jon
+- refactor: deleted useless prop in FetchedTags by:Jon
+- refactor: refs #7323 drop useless code by:jorgep
+- refactor: refs #7353 clients correction by:jorgep
+- refactor: refs #7353 clients correction wip by:jorgep
+- refactor: refs #7353 ease logic by:jorgep
+- refactor: refs #7353 order correction by:jorgep
+- refactor: refs #7353 simplify code by:jorgep
+- refactor: refs #7353 tickets correction by:jorgep
+- refactor: refs #7353 use global locales by:jorgep
+- refactor: refs #7354 changed descriptor menu options by:Jon
+- refactor: refs #7354 changed icon color in table and notification when deleting a zone by:Jon
+- refactor: refs #7354 fix tableFilters by:Jon
+- refactor: refs #7354 modified VnInputTime by:Jon
+- refactor: refs #7354 refactor deliveryPanel by:Jon
+- refactor: refs #7354 refactor zones section and fixed e2e tests by:Jon
+- refactor: refs #7354 requested changes by:Jon
+- refactor: refs #7354 reverse deliveryPanel changes by:Jon
+- refactor: refs #7354 Zone migration changes by:Jon
+- refactor: refs #7889 deleted subtitle attr and use keyBinding instead by:Jon
+- refactor: refs #7889 modified shortcut and dashboard, and added tootlip in LeftMenu by:Jon
+- refs #6722 perf: not fetch when id not exists by:Javier Segarra
+- refs #6772 perf: change variable name by:JAVIER SEGARRA MARTINEZ
+- refs #6772 perf: use ArrayData (6772_reload_sections) by:Javier Segarra
+- refs #7283 refactor fix ItemDescriptor by:carlossa
+- refs #7283 refactor ItexDescriptor by:carlossa
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   chore: refs #6772 fix e2e (origin/6772-warmfix-fixE2e) by:jorgep
--   chore: refs #7353 fix warnings by:jorgep
--   chore: refs #7356 fix type by:jorgep
--   feat: fix bugs and filters by:Javier Segarra
--   feat: fix refund parameters by:jgallego
--   feat: minor fixes by:jgallego
--   feat: refs #7353 add filter & fix customTags by:jorgep
--   feat: try to fix ItemFixedFilterPanel by:Javier Segarra
--   fix: add border-top by:Javier Segarra
--   fix: added missing descriptors and small details by:Jon
--   fix branch by:carlossa
--   fix: call upsert when crudModel haschanges by:Javier Segarra
--   fix(ClaimList): fix summary by:alexm
--   fix: cli warnings by:Javier Segarra
--   fix: editTableOptions by:Javier Segarra
--   fix events and descriptor menu by:Jon
--   fix: InvoiceIn sections (origin/6772_reload_sections) by:Javier Segarra
--   fix: minor changes by:Javier Segarra
--   fix: minor error whit dates by:Javier Segarra
--   fix: module icon by:Javier Segarra
--   fix: options QDate by:Javier Segarra
--   fix: refs #6900 e2e error by:jorgep
--   fix: refs #6900 rollback by:jorgep
--   fix: refs #7353 css by:jorgep
--   fix: refs #7353 hide search param (origin/7353-warmfix-fixSearchbar) by:jorgep
--   fix: refs #7353 iron out filter by:jorgep
--   fix: refs #7353 iron out ticket table by:jorgep
--   fix: refs #7353 padding by:jorgep
--   fix: refs #7353 salesClientTable by:jorgep
--   fix: refs #7353 salesorderTable by:jorgep
--   fix: refs #7353 saleTicketMonitors by:jorgep
--   fix: refs #7353 use same datakey by:jorgep
--   fix: refs #7353 vnTable colors by:jorgep
--   fix: refs #7354 e2e tests by:Jon
--   fix: refs #7354 fix delivery days by:Jon
--   fix: refs #7354 fix list searchbar and filters by:Jon
--   fix: refs #7354 fix VnSearchbar search for zone section & finished basic tests by:Jon
--   fix: refs #7354 fix VnTable filters and agency field by:Jon
--   fix: refs #7354 fix zoneSearchbar by:Jon
--   fix: refs #7354 requested changes by:Jon
--   fix: refs #7356 colors by:jorgep
--   fix: refs #7356 create claim dialog by:jorgep
--   fix: refs #7889 fixed shortcut test by:Jon
--   fix: refs #7903 fixed ticket's search bar and keybinding tooltip by:Jon
--   fix: refs #7911 fixed shortcut and related files by:Jon
--   fix: remove condition duplicated by:Javier Segarra
--   fix: remove property by:Javier Segarra
--   fix tootltip by:carlossa
--   fix traduction by:carlossa
--   fix(VnSectionMain): add QPage by:alexm
--   fix(zone): zoneLocation and the others searchbar by:alexm
--   refactor: refs #7354 fix tableFilters by:Jon
--   refactor: refs #7354 refactor zones section and fixed e2e tests by:Jon
--   refs #6772 feat: fix approach by:Javier Segarra
--   refs #6772 fix: claimPhoto reload by:Javier Segarra
--   refs #6896 fix searchbar by:carlossa
--   refs #6897 fix entry by:carlossa
--   refs #6899 fix invoiceFix by:carlossa
--   refs #6899 fix order by:carlossa
--   refs #7283 fix by:carlossa
--   refs #7283 fix ItemDescriptor warehouse by:carlossa
--   refs #7283 refactor fix ItemDescriptor by:carlossa
--   refs #7355 #7366 fix account, summary, list, travelList, tooltip by:carlossa
--   refs #7355 fix accountPrivileges by:carlossa
--   refs #7355 fix accounts, vnTable by:carlossa
--   refs #7355 fix privileges by:carlossa
--   refs #7355 fix roles filters by:carlossa
--   refs #7355 fix total by:carlossa
--   refs #7355 fix views summarys, entryList, travelList refact by:carlossa
--   refs #7366 fix travel hours by:carlossa
--   test: fix e2e by:Javier Segarra
+- chore: refs #6772 fix e2e (origin/6772-warmfix-fixE2e) by:jorgep
+- chore: refs #7353 fix warnings by:jorgep
+- chore: refs #7356 fix type by:jorgep
+- feat: fix bugs and filters by:Javier Segarra
+- feat: fix refund parameters by:jgallego
+- feat: minor fixes by:jgallego
+- feat: refs #7353 add filter & fix customTags by:jorgep
+- feat: try to fix ItemFixedFilterPanel by:Javier Segarra
+- fix: add border-top by:Javier Segarra
+- fix: added missing descriptors and small details by:Jon
+- fix branch by:carlossa
+- fix: call upsert when crudModel haschanges by:Javier Segarra
+- fix(ClaimList): fix summary by:alexm
+- fix: cli warnings by:Javier Segarra
+- fix: editTableOptions by:Javier Segarra
+- fix events and descriptor menu by:Jon
+- fix: InvoiceIn sections (origin/6772_reload_sections) by:Javier Segarra
+- fix: minor changes by:Javier Segarra
+- fix: minor error whit dates by:Javier Segarra
+- fix: module icon by:Javier Segarra
+- fix: options QDate by:Javier Segarra
+- fix: refs #6900 e2e error by:jorgep
+- fix: refs #6900 rollback by:jorgep
+- fix: refs #7353 css by:jorgep
+- fix: refs #7353 hide search param (origin/7353-warmfix-fixSearchbar) by:jorgep
+- fix: refs #7353 iron out filter by:jorgep
+- fix: refs #7353 iron out ticket table by:jorgep
+- fix: refs #7353 padding by:jorgep
+- fix: refs #7353 salesClientTable by:jorgep
+- fix: refs #7353 salesorderTable by:jorgep
+- fix: refs #7353 saleTicketMonitors by:jorgep
+- fix: refs #7353 use same datakey by:jorgep
+- fix: refs #7353 vnTable colors by:jorgep
+- fix: refs #7354 e2e tests by:Jon
+- fix: refs #7354 fix delivery days by:Jon
+- fix: refs #7354 fix list searchbar and filters by:Jon
+- fix: refs #7354 fix VnSearchbar search for zone section & finished basic tests by:Jon
+- fix: refs #7354 fix VnTable filters and agency field by:Jon
+- fix: refs #7354 fix zoneSearchbar by:Jon
+- fix: refs #7354 requested changes by:Jon
+- fix: refs #7356 colors by:jorgep
+- fix: refs #7356 create claim dialog by:jorgep
+- fix: refs #7889 fixed shortcut test by:Jon
+- fix: refs #7903 fixed ticket's search bar and keybinding tooltip by:Jon
+- fix: refs #7911 fixed shortcut and related files by:Jon
+- fix: remove condition duplicated by:Javier Segarra
+- fix: remove property by:Javier Segarra
+- fix tootltip by:carlossa
+- fix traduction by:carlossa
+- fix(VnSectionMain): add QPage by:alexm
+- fix(zone): zoneLocation and the others searchbar by:alexm
+- refactor: refs #7354 fix tableFilters by:Jon
+- refactor: refs #7354 refactor zones section and fixed e2e tests by:Jon
+- refs #6772 feat: fix approach by:Javier Segarra
+- refs #6772 fix: claimPhoto reload by:Javier Segarra
+- refs #6896 fix searchbar by:carlossa
+- refs #6897 fix entry by:carlossa
+- refs #6899 fix invoiceFix by:carlossa
+- refs #6899 fix order by:carlossa
+- refs #7283 fix by:carlossa
+- refs #7283 fix ItemDescriptor warehouse by:carlossa
+- refs #7283 refactor fix ItemDescriptor by:carlossa
+- refs #7355 #7366 fix account, summary, list, travelList, tooltip by:carlossa
+- refs #7355 fix accountPrivileges by:carlossa
+- refs #7355 fix accounts, vnTable by:carlossa
+- refs #7355 fix privileges by:carlossa
+- refs #7355 fix roles filters by:carlossa
+- refs #7355 fix total by:carlossa
+- refs #7355 fix views summarys, entryList, travelList refact by:carlossa
+- refs #7366 fix travel hours by:carlossa
+- test: fix e2e by:Javier Segarra
 
 # Version 24.36 - 2024-08-27
 
 ### Added ๐Ÿ†•
 
--   feat(FormModel): trim data by default by:alexm
--   feat(orderBasicData): add notes by:alexm
--   feat(orderList): correct create order by:alexm
--   feat(orderList): use orderFilter and fixed this by:alexm
--   feat: #7323 handle workerPhoto (origin/7323_workerPhoto, 7323_workerPhoto) by:Javier Segarra
--   feat: add recover password and reset password by:alexm
--   feat: refs #7346 add seriaType option by:jgallego
--   feat: refs #7346 elimino === by:jgallego
--   feat: refs #7346 formdata uses serialType by:jgallego
--   feat: refs #7346 refactor by:jgallego
--   feat: refs #7346 sonarLint warnings (origin/7346-invoiceOutMultilple, 7346-invoiceOutMultilple) by:jgallego
--   feat: refs #7710 uses cloneAll by:jgallego
--   fix: refs #7717 fix OrderList table filters' and summary table style by:Jon
+- feat(FormModel): trim data by default by:alexm
+- feat(orderBasicData): add notes by:alexm
+- feat(orderList): correct create order by:alexm
+- feat(orderList): use orderFilter and fixed this by:alexm
+- feat: #7323 handle workerPhoto (origin/7323_workerPhoto, 7323_workerPhoto) by:Javier Segarra
+- feat: add recover password and reset password by:alexm
+- feat: refs #7346 add seriaType option by:jgallego
+- feat: refs #7346 elimino === by:jgallego
+- feat: refs #7346 formdata uses serialType by:jgallego
+- feat: refs #7346 refactor by:jgallego
+- feat: refs #7346 sonarLint warnings (origin/7346-invoiceOutMultilple, 7346-invoiceOutMultilple) by:jgallego
+- feat: refs #7710 uses cloneAll by:jgallego
+- fix: refs #7717 fix OrderList table filters' and summary table style by:Jon
 
 ### Changed ๐Ÿ“ฆ
 
--   feat: refs #7346 refactor by:jgallego
--   perf: date fields (mindshore/feature/TicketFutureFilter, feature/TicketFutureFilter) by:Javier Segarra
--   perf: refs #7717 right menu filter by:Jon
--   perf: use ref at component start by:Javier Segarra
--   refactor: refs #7717 delete useless function and import by:Jon
--   refactor: refs #7717 deleted useless code by:Jon
+- feat: refs #7346 refactor by:jgallego
+- perf: date fields (mindshore/feature/TicketFutureFilter, feature/TicketFutureFilter) by:Javier Segarra
+- perf: refs #7717 right menu filter by:Jon
+- perf: use ref at component start by:Javier Segarra
+- refactor: refs #7717 delete useless function and import by:Jon
+- refactor: refs #7717 deleted useless code by:Jon
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   feat(orderList): use orderFilter and fixed this by:alexm
--   fix(VnTable): orderBy v-model by:alexm
--   fix(account_card): redirection by:carlossa
--   fix(orderLines): reload when delete and redirect when confirm by:alexm
--   fix: #6336 ClaimListStates by:Javier Segarra
--   fix: account subsections cards by:carlossa
--   fix: duplicate key by:Jon
--   fix: order description to vnTable by:alexm
--   fix: orderCatalogFilter order by:alexm
--   fix: quasar build warnings (6336_claim_fix_states) by:Javier Segarra
--   fix: refs #7717 fix OrderList table filters' and summary table style by:Jon
--   fix: refs #7717 fix basic data form & minor errors by:Jon
--   fix: refs #7717 fix catalog filter, searchbar redirect and search by:Jon
--   fix: refs #7717 fix catalog searchbar and worker tests(refs #7323) by:Jon
--   fix: refs #7717 fix order sections by:Jon
--   fix: refs #7717 fix volume and lines redirect by:Jon
--   fix: refs #7717 fixed searchbar filter with rightmenu filters' applied by:Jon
--   fix: test by:alexm
--   fix: ticketDescriptorMenu by:Javier Segarra
--   refs #7355 account fixes by:carlossa
+- feat(orderList): use orderFilter and fixed this by:alexm
+- fix(VnTable): orderBy v-model by:alexm
+- fix(account_card): redirection by:carlossa
+- fix(orderLines): reload when delete and redirect when confirm by:alexm
+- fix: #6336 ClaimListStates by:Javier Segarra
+- fix: account subsections cards by:carlossa
+- fix: duplicate key by:Jon
+- fix: order description to vnTable by:alexm
+- fix: orderCatalogFilter order by:alexm
+- fix: quasar build warnings (6336_claim_fix_states) by:Javier Segarra
+- fix: refs #7717 fix OrderList table filters' and summary table style by:Jon
+- fix: refs #7717 fix basic data form & minor errors by:Jon
+- fix: refs #7717 fix catalog filter, searchbar redirect and search by:Jon
+- fix: refs #7717 fix catalog searchbar and worker tests(refs #7323) by:Jon
+- fix: refs #7717 fix order sections by:Jon
+- fix: refs #7717 fix volume and lines redirect by:Jon
+- fix: refs #7717 fixed searchbar filter with rightmenu filters' applied by:Jon
+- fix: test by:alexm
+- fix: ticketDescriptorMenu by:Javier Segarra
+- refs #7355 account fixes by:carlossa
 
 # Version 24.34 - 2024-08-20
 
 ### Added ๐Ÿ†•
 
--   chore: #6900 order params by:jorgep
--   chore: refs #6900 drop console log by:jorgep
--   chore: refs #6900 drop vnCurrency by:jorgep
--   chore: refs #6900 fix e2e tests by:jorgep
--   chore: refs #6900 mv rectificative logic by:jorgep
--   chore: refs #6900 responsive code by:jorgep
--   chore: refs #7283 drop array types by:jorgep
--   chore: refs #7283 drop import by:jorgep
--   chore: refs #7283 fix e2e logout by:jorgep
--   chore: refs #7283 update VnAvatar title handling by:jorgep
--   chore: refs #7323 fix test by:jorgep
--   chore: refs #7323 remove unused import by:jorgep
--   chore: refs #7323drop commented code by:jorgep
--   feat(VnCard): use props searchbar by:alexm
--   feat(customer): improve basicData to balance by:alexm
--   feat(customer_balance): refs #6943 add functionality from salix by:alexm
--   feat(customer_balance): refs #6943 translations by:alexm
--   feat: refs #6130 husky commitLint config by:pablone
--   feat: refs #6130 husky hooks by:pablone
--   feat: refs #6900 add InvoiceInSerial by:jorgep
--   feat: refs #6900 add locale by:jorgep
--   feat: refs #6900 use VnTable & sort filter fields by:jorgep
--   feat: refs #7323 add flex-wrap by:jorgep
--   feat: refs #7323 add my account" btn & fix models log selectable by:jorgep
--   feat: refs #7323 improve test by:jorgep
+- chore: #6900 order params by:jorgep
+- chore: refs #6900 drop console log by:jorgep
+- chore: refs #6900 drop vnCurrency by:jorgep
+- chore: refs #6900 fix e2e tests by:jorgep
+- chore: refs #6900 mv rectificative logic by:jorgep
+- chore: refs #6900 responsive code by:jorgep
+- chore: refs #7283 drop array types by:jorgep
+- chore: refs #7283 drop import by:jorgep
+- chore: refs #7283 fix e2e logout by:jorgep
+- chore: refs #7283 update VnAvatar title handling by:jorgep
+- chore: refs #7323 fix test by:jorgep
+- chore: refs #7323 remove unused import by:jorgep
+- chore: refs #7323drop commented code by:jorgep
+- feat(VnCard): use props searchbar by:alexm
+- feat(customer): improve basicData to balance by:alexm
+- feat(customer_balance): refs #6943 add functionality from salix by:alexm
+- feat(customer_balance): refs #6943 translations by:alexm
+- feat: refs #6130 husky commitLint config by:pablone
+- feat: refs #6130 husky hooks by:pablone
+- feat: refs #6900 add InvoiceInSerial by:jorgep
+- feat: refs #6900 add locale by:jorgep
+- feat: refs #6900 use VnTable & sort filter fields by:jorgep
+- feat: refs #7323 add flex-wrap by:jorgep
+- feat: refs #7323 add my account" btn & fix models log selectable by:jorgep
+- feat: refs #7323 improve test by:jorgep
 
 ### Changed ๐Ÿ“ฆ
 
--   refactor(customer_log: use VnLog by:alexm
--   refactor(customer_recovery): to vnTable by:alexm
--   refactor(customer_webAccess): FormModel by:alexm
--   refactor: refs #7283 update avatar size and color by:jorgep
+- refactor(customer_log: use VnLog by:alexm
+- refactor(customer_recovery): to vnTable by:alexm
+- refactor(customer_webAccess): FormModel by:alexm
+- refactor: refs #7283 update avatar size and color by:jorgep
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   chore: refs #6900 fix e2e tests by:jorgep
--   chore: refs #7283 fix e2e logout by:jorgep
--   chore: refs #7323 fix test by:jorgep
--   feat: refs #7323 add my account" btn & fix models log selectable by:jorgep
--   fix #7355 fix acls list by:carlossa
--   fix(VnFilterPanel): emit userParams better by:alexm
--   fix(claim_summary): url links (HEAD -> 7864_testToMaster_2434, origin/test, origin/7864_testToMaster_2434, test) by:alexm
--   fix(customer_sms: fix reload by:alexm
--   fix(twoFactor): unify code login and twoFactor by:alexm
--   fix: VnCard VnSearchbar props by:alexm
--   fix: accountMailAlias by:alexm
--   fix: refs #6130 add commit lint modules by:pablone
--   fix: refs #6130 pnpm-lock.yml by:pablone
--   fix: refs #6900 improve loading by:jorgep
--   fix: refs #6900 improve logic (origin/6900-addSerial) by:jorgep
--   fix: refs #6900 improve logic by:jorgep
--   fix: refs #6900 rectificative btn reactivity by:jorgep
--   fix: refs #6900 use type number by:jorgep
--   fix: refs #6900 vat & dueday by:jorgep
--   fix: refs #6900 vat, dueday & intrastat by:jorgep
--   fix: refs #6989 show entity name & default time from config table by:jorgep
--   fix: refs #7283 basicData locale by:jorgep
--   fix: refs #7283 itemLastEntries filter by:jorgep
--   fix: refs #7283 itemTags & VnImg by:jorgep
--   fix: refs #7283 locale by:jorgep
--   fix: refs #7283 min-width vnImg by:jorgep
--   fix: refs #7283 use vnAvatar & add optional zoom by:jorgep
--   fix: refs #7283 userPanel pic by:jorgep
--   fix: refs #7323 add department popup by:jorgep
--   fix: refs #7323 add locale by:jorgep
--   fix: refs #7323 css righ menu by:jorgep
--   fix: refs #7323 data-key & add select by:jorgep
--   fix: refs #7323 load all opts by:jorgep
--   fix: refs #7323 righ menu bug by:jorgep
--   fix: refs #7323 use global locale by:jorgep
--   fix: refs #7323 use workerFilter (origin/7323-warmfix-fixErrors) by:jorgep
--   fix: refs #7323 vnsubtoolbar css by:jorgep
--   fix: refs #7323 wrong css by:jorgep
--   refs #7355 fix Rol, alias by:carlossa
--   refs #7355 fix accountAlias by:carlossa
--   refs #7355 fix alias summary by:carlossa
--   refs #7355 fix conflicts by:carlossa
--   refs #7355 fix create Rol by:carlossa
--   refs #7355 fix list by:carlossa
--   refs #7355 fix lists redirects summary by:carlossa
--   refs #7355 fix roles by:carlossa
--   refs #7355 fix search exprBuilder by:carlossa
--   refs #7355 fix vnTable by:carlossa
+- chore: refs #6900 fix e2e tests by:jorgep
+- chore: refs #7283 fix e2e logout by:jorgep
+- chore: refs #7323 fix test by:jorgep
+- feat: refs #7323 add my account" btn & fix models log selectable by:jorgep
+- fix #7355 fix acls list by:carlossa
+- fix(VnFilterPanel): emit userParams better by:alexm
+- fix(claim_summary): url links (HEAD -> 7864_testToMaster_2434, origin/test, origin/7864_testToMaster_2434, test) by:alexm
+- fix(customer_sms: fix reload by:alexm
+- fix(twoFactor): unify code login and twoFactor by:alexm
+- fix: VnCard VnSearchbar props by:alexm
+- fix: accountMailAlias by:alexm
+- fix: refs #6130 add commit lint modules by:pablone
+- fix: refs #6130 pnpm-lock.yml by:pablone
+- fix: refs #6900 improve loading by:jorgep
+- fix: refs #6900 improve logic (origin/6900-addSerial) by:jorgep
+- fix: refs #6900 improve logic by:jorgep
+- fix: refs #6900 rectificative btn reactivity by:jorgep
+- fix: refs #6900 use type number by:jorgep
+- fix: refs #6900 vat & dueday by:jorgep
+- fix: refs #6900 vat, dueday & intrastat by:jorgep
+- fix: refs #6989 show entity name & default time from config table by:jorgep
+- fix: refs #7283 basicData locale by:jorgep
+- fix: refs #7283 itemLastEntries filter by:jorgep
+- fix: refs #7283 itemTags & VnImg by:jorgep
+- fix: refs #7283 locale by:jorgep
+- fix: refs #7283 min-width vnImg by:jorgep
+- fix: refs #7283 use vnAvatar & add optional zoom by:jorgep
+- fix: refs #7283 userPanel pic by:jorgep
+- fix: refs #7323 add department popup by:jorgep
+- fix: refs #7323 add locale by:jorgep
+- fix: refs #7323 css righ menu by:jorgep
+- fix: refs #7323 data-key & add select by:jorgep
+- fix: refs #7323 load all opts by:jorgep
+- fix: refs #7323 righ menu bug by:jorgep
+- fix: refs #7323 use global locale by:jorgep
+- fix: refs #7323 use workerFilter (origin/7323-warmfix-fixErrors) by:jorgep
+- fix: refs #7323 vnsubtoolbar css by:jorgep
+- fix: refs #7323 wrong css by:jorgep
+- refs #7355 fix Rol, alias by:carlossa
+- refs #7355 fix accountAlias by:carlossa
+- refs #7355 fix alias summary by:carlossa
+- refs #7355 fix conflicts by:carlossa
+- refs #7355 fix create Rol by:carlossa
+- refs #7355 fix list by:carlossa
+- refs #7355 fix lists redirects summary by:carlossa
+- refs #7355 fix roles by:carlossa
+- refs #7355 fix search exprBuilder by:carlossa
+- refs #7355 fix vnTable by:carlossa
 
 # Version 24.32 - 2024-08-06
 
 ### Added ๐Ÿ†•
 
--   chore: refs #7197 drop space by:jorgep
--   chore: refs #7197 drop useless attr by:jorgep
--   chore: refs #7197 fix test by:jorgep
--   chore: refs #7197 fix tests by:jorgep
--   chore: refs #7197 fix unit tests by:jorgep
--   chore: refs #7197 idrop useless class by:jorgep
--   chore: refs #7197 improve form filling in Cypress tests by:jorgep
--   chore: refs #7197 remove unused import by:jorgep
--   feat: customerPayments card view by:alexm
--   feat: refs #6943 lock grid mode by:jorgep
--   feat: refs #6943 wip consumption filter by:jorgep
--   feat: refs #7197 add correcting filter by:jorgep
--   feat: refs #7197 add supplier activities filter option by:jorgep
--   feat: refs #7197 summary responsive by:jorgep
--   feat: refs #7323 fix descriptors, added VnTable and minor changes by:Jon
--   feat: refs #7323 fixed tests, changed calendar styles and fix workerCreate by:Jon
--   feat: refs #7356 list & weekly to VnTable and style fixes by:Jon
--   feat: refs #7401 add menu options by:pablone
--   feat: SalesClientTable by:Javier Segarra
--   feat: salesOrderTable by:Javier Segarra
--   feat: salesTicketTable by:Javier Segarra
--   feat: VnTable SalesTicketTable by:Javier Segarra
--   fix: columns style by:alexm
+- chore: refs #7197 drop space by:jorgep
+- chore: refs #7197 drop useless attr by:jorgep
+- chore: refs #7197 fix test by:jorgep
+- chore: refs #7197 fix tests by:jorgep
+- chore: refs #7197 fix unit tests by:jorgep
+- chore: refs #7197 idrop useless class by:jorgep
+- chore: refs #7197 improve form filling in Cypress tests by:jorgep
+- chore: refs #7197 remove unused import by:jorgep
+- feat: customerPayments card view by:alexm
+- feat: refs #6943 lock grid mode by:jorgep
+- feat: refs #6943 wip consumption filter by:jorgep
+- feat: refs #7197 add correcting filter by:jorgep
+- feat: refs #7197 add supplier activities filter option by:jorgep
+- feat: refs #7197 summary responsive by:jorgep
+- feat: refs #7323 fix descriptors, added VnTable and minor changes by:Jon
+- feat: refs #7323 fixed tests, changed calendar styles and fix workerCreate by:Jon
+- feat: refs #7356 list & weekly to VnTable and style fixes by:Jon
+- feat: refs #7401 add menu options by:pablone
+- feat: SalesClientTable by:Javier Segarra
+- feat: salesOrderTable by:Javier Segarra
+- feat: salesTicketTable by:Javier Segarra
+- feat: VnTable SalesTicketTable by:Javier Segarra
+- fix: columns style by:alexm
 
 ### Changed ๐Ÿ“ฆ
 
--   perf: LeftMenu show/hide by:Javier Segarra
--   perf: refs #7356 TicketList state column by:Jon
--   perf: VnFilterPanel (origin/7323_WorkerMigration_End) by:Javier Segarra
--   perf: width SalesTicketsTable by:Javier Segarra
--   refactor: #6943 wip use vnTable CustomerCredits by:jorgep
--   refactor: CustomerNotifications use VnTable by:alexm
--   refactor: CustomerPayments use VnTable by:alexm
--   refactor: refs #7014 deleted main files and changed route files by:Jon
--   refactor: refs #7014 improved route.js & deleted RouteMain by:Jon
--   refactor: refs #7014 refactor <module>Main.vue by:Jon
--   refactor: refs #7014 refactor ZoneCard, deleted ZoneMain & created basic tests for functionality by:Jon
--   refactor: refs #7197 use invoiceInSearchbar & queryParams by:jorgep
--   refactor: refs #7323 hidden column filter proposal by:Jon
--   refactor: refs #7356 fixed VnTable filters by:Jon
--   refactor: refs #7356 requested changes by:Jon
--   refactor: wip use vnTable CustomerCredits by:jorgep
+- perf: LeftMenu show/hide by:Javier Segarra
+- perf: refs #7356 TicketList state column by:Jon
+- perf: VnFilterPanel (origin/7323_WorkerMigration_End) by:Javier Segarra
+- perf: width SalesTicketsTable by:Javier Segarra
+- refactor: #6943 wip use vnTable CustomerCredits by:jorgep
+- refactor: CustomerNotifications use VnTable by:alexm
+- refactor: CustomerPayments use VnTable by:alexm
+- refactor: refs #7014 deleted main files and changed route files by:Jon
+- refactor: refs #7014 improved route.js & deleted RouteMain by:Jon
+- refactor: refs #7014 refactor <module>Main.vue by:Jon
+- refactor: refs #7014 refactor ZoneCard, deleted ZoneMain & created basic tests for functionality by:Jon
+- refactor: refs #7197 use invoiceInSearchbar & queryParams by:jorgep
+- refactor: refs #7323 hidden column filter proposal by:Jon
+- refactor: refs #7356 fixed VnTable filters by:Jon
+- refactor: refs #7356 requested changes by:Jon
+- refactor: wip use vnTable CustomerCredits by:jorgep
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   chore: refs #7197 fix test by:jorgep
--   chore: refs #7197 fix tests by:jorgep
--   chore: refs #7197 fix unit tests by:jorgep
--   feat: refs #7323 fix descriptors, added VnTable and minor changes by:Jon
--   feat: refs #7323 fixed tests, changed calendar styles and fix workerCreate by:Jon
--   feat: refs #7356 list & weekly to VnTable and style fixes by:Jon
--   fix(claim): small details (6336-claim-v6) by:alexm
--   fix: columns style by:alexm
--   fix: customer defaulter add amount order (6943-fixCustomer) by:alexm
--   fix: customerDefaulter correct functionality by:alexm
--   fix: customerNotifications filter by:alexm
--   fix: fix conflicts by:Jon
--   fix: refs #6101 fix TicketList by:Jon
--   fix: refs #6891 worker tests by:jorgep
--   fix: refs #6943 drop padding-left checkbox & create wrap mode vnRow by:jorgep
--   fix: refs #6943 prevent undefined by:jorgep
--   fix: refs #7014 fix tests by:Jon
--   fix: refs #7014 fix wagon module by:Jon
--   fix: refs #7197 add url InvoiceInSearchbar by:jorgep
--   fix: refs #7197 amount reactivity by:jorgep
--   fix: refs #7197 drop character by:jorgep
--   fix: refs #7197 reactivity invoiceCorrection by:jorgep
--   fix: refs #7197 responsive summary layout by:jorgep
--   fix: refs #7197 rollback by:jorgep
--   fix: refs #7197 rollback crudModel by:jorgep
--   fix: refs #7197 setInvoiceInCorrecition by:jorgep
--   fix: refs #7197 vat, intrastat, filter and list sections by:jorgep
--   fix: refs #7323 fix department & email table filter by:Jon
--   fix: refs #7323 fixed left filter by:Jon
--   fix: refs #7323 fix workerTimeControl form by:Jon
--   fix: refs #7401 fix routeForm by:pablone
--   fix: refs #7401 remove console.log by:pablone
--   fix: refs CAU 207504 fix itemDiary and logs by:Jon
--   fix: workerCreate form street field to be always upperCase by:Jon
--   hotfix: refs CAU #207614 fix sale.concept field by:Jon
--   refactor: refs #7356 fixed VnTable filters by:Jon
--   refs #6898 fix by:carlossa
--   Ticket expedition initial load fix by:wbuezas
+- chore: refs #7197 fix test by:jorgep
+- chore: refs #7197 fix tests by:jorgep
+- chore: refs #7197 fix unit tests by:jorgep
+- feat: refs #7323 fix descriptors, added VnTable and minor changes by:Jon
+- feat: refs #7323 fixed tests, changed calendar styles and fix workerCreate by:Jon
+- feat: refs #7356 list & weekly to VnTable and style fixes by:Jon
+- fix(claim): small details (6336-claim-v6) by:alexm
+- fix: columns style by:alexm
+- fix: customer defaulter add amount order (6943-fixCustomer) by:alexm
+- fix: customerDefaulter correct functionality by:alexm
+- fix: customerNotifications filter by:alexm
+- fix: fix conflicts by:Jon
+- fix: refs #6101 fix TicketList by:Jon
+- fix: refs #6891 worker tests by:jorgep
+- fix: refs #6943 drop padding-left checkbox & create wrap mode vnRow by:jorgep
+- fix: refs #6943 prevent undefined by:jorgep
+- fix: refs #7014 fix tests by:Jon
+- fix: refs #7014 fix wagon module by:Jon
+- fix: refs #7197 add url InvoiceInSearchbar by:jorgep
+- fix: refs #7197 amount reactivity by:jorgep
+- fix: refs #7197 drop character by:jorgep
+- fix: refs #7197 reactivity invoiceCorrection by:jorgep
+- fix: refs #7197 responsive summary layout by:jorgep
+- fix: refs #7197 rollback by:jorgep
+- fix: refs #7197 rollback crudModel by:jorgep
+- fix: refs #7197 setInvoiceInCorrecition by:jorgep
+- fix: refs #7197 vat, intrastat, filter and list sections by:jorgep
+- fix: refs #7323 fix department & email table filter by:Jon
+- fix: refs #7323 fixed left filter by:Jon
+- fix: refs #7323 fix workerTimeControl form by:Jon
+- fix: refs #7401 fix routeForm by:pablone
+- fix: refs #7401 remove console.log by:pablone
+- fix: refs CAU 207504 fix itemDiary and logs by:Jon
+- fix: workerCreate form street field to be always upperCase by:Jon
+- hotfix: refs CAU #207614 fix sale.concept field by:Jon
+- refactor: refs #7356 fixed VnTable filters by:Jon
+- refs #6898 fix by:carlossa
+- Ticket expedition initial load fix by:wbuezas
 
 # Version 24.28 - 2024-07-09
 
 ### Added ๐Ÿ†•
 
--   Change header titles style by:wbuezas
--   chore: refs #7436 fix e2e (origin/7436-showQCheckbox) by:jorgep
--   feat: #7196 eslint (origin/7196-cjsToEsm) by:jgallego
--   feat: adapt tu VnTable โ†’ CrudModel by:alexm
--   feat(CustomerFIlter): use correct table by:alexm
--   feat(customerList): add searchbar by:alexm
--   feat: customerList is customerExtendedList by:alexm
--   feat: fixes #7196 by:jgallego
--   feat: refs #6739 transferInvoice new checkbox and functionality by:Jon
--   feat: refs #6825 create vnTable and add in CustomerExtendedList by:alexm
--   feat: refs #6825 create vnTableColumn, cardActions by:alexm
--   feat: refs #6825 fix modes by:alexm
--   feat: refs #6825 qchip color by:alexm
--   feat: refs #6825 right filter panel (6825-vnTable) by:alexm
--   feat: refs #6825 scroll for table mode by:alexm
--   feat: refs #6825 share filters, create popup by:alexm
--   feat: refs #6825 VnComponent mix component and attrs Form to create new row by:alexm
--   feat: refs #6825 VnTableFilter and VnPanelFilter init by:alexm
--   feat: refs #6826 added rol summary link by:Jon
--   feat: refs #6896 created VnImg and added to order module by:Jon
--   feat: refs #6896 new filters by:Jon
--   feat: refs #7129 fix some code and add order by:pablone
--   feat: refs #7436 show checkbox by:jorgep
--   feat: refs #7545 Deleted hasIncoterms client column (origin/7545-hasIncoterms) by:guillermo
--   feat(TicketService): use correct format by:alexm
--   feat(url): sepate filters by:alexm
--   feat(VnFilter): merge objects by:alexm
--   feat(VnTable): is-editable and use-model. fix: checkbox by:alexm
--   feat(VnTable): refs #6825 actions sticky by:alexm
--   feat(VnTable): refs #6825 addInWhere by:alexm
--   feat(VnTable): refs #6825 dinamic columns by:alexm
--   feat(VnTable): refs #6825 execute function when create by:alexm
--   feat(VnTable): refs #6825 fix ellipsis and add titles by:alexm
--   feat(VnTable): refs #6825 merge where's by:alexm
--   feat(VnTable): refs #6825 move to folder. fix checkboxs by:alexm
--   feat(VnTable): refs #6825 remove field prop. Add actions in table by:alexm
--   feat(VnTable): refs #6825 use checkbox if startsWith 'is' or 'has' by:alexm
--   feat(VnTable): refs #6825 VnTableChip component by:alexm
--   feat(vnTable): reload data when change url by:alexm
--   feat(WorkerFormation): add columnFilter by:alexm
--   feat(WorkerFormation): is-editable and use-model by:alexm
--   fix: notify icon style by:Javier Segarra
--   refactor: refs #6896 fixed styles by:Jon
--   Revert "feat: fixes #7196" by:alexm
--   style: refs #6464 changed checkbox and qbtn styles by:Jon
+- Change header titles style by:wbuezas
+- chore: refs #7436 fix e2e (origin/7436-showQCheckbox) by:jorgep
+- feat: #7196 eslint (origin/7196-cjsToEsm) by:jgallego
+- feat: adapt tu VnTable โ†’ CrudModel by:alexm
+- feat(CustomerFIlter): use correct table by:alexm
+- feat(customerList): add searchbar by:alexm
+- feat: customerList is customerExtendedList by:alexm
+- feat: fixes #7196 by:jgallego
+- feat: refs #6739 transferInvoice new checkbox and functionality by:Jon
+- feat: refs #6825 create vnTable and add in CustomerExtendedList by:alexm
+- feat: refs #6825 create vnTableColumn, cardActions by:alexm
+- feat: refs #6825 fix modes by:alexm
+- feat: refs #6825 qchip color by:alexm
+- feat: refs #6825 right filter panel (6825-vnTable) by:alexm
+- feat: refs #6825 scroll for table mode by:alexm
+- feat: refs #6825 share filters, create popup by:alexm
+- feat: refs #6825 VnComponent mix component and attrs Form to create new row by:alexm
+- feat: refs #6825 VnTableFilter and VnPanelFilter init by:alexm
+- feat: refs #6826 added rol summary link by:Jon
+- feat: refs #6896 created VnImg and added to order module by:Jon
+- feat: refs #6896 new filters by:Jon
+- feat: refs #7129 fix some code and add order by:pablone
+- feat: refs #7436 show checkbox by:jorgep
+- feat: refs #7545 Deleted hasIncoterms client column (origin/7545-hasIncoterms) by:guillermo
+- feat(TicketService): use correct format by:alexm
+- feat(url): sepate filters by:alexm
+- feat(VnFilter): merge objects by:alexm
+- feat(VnTable): is-editable and use-model. fix: checkbox by:alexm
+- feat(VnTable): refs #6825 actions sticky by:alexm
+- feat(VnTable): refs #6825 addInWhere by:alexm
+- feat(VnTable): refs #6825 dinamic columns by:alexm
+- feat(VnTable): refs #6825 execute function when create by:alexm
+- feat(VnTable): refs #6825 fix ellipsis and add titles by:alexm
+- feat(VnTable): refs #6825 merge where's by:alexm
+- feat(VnTable): refs #6825 move to folder. fix checkboxs by:alexm
+- feat(VnTable): refs #6825 remove field prop. Add actions in table by:alexm
+- feat(VnTable): refs #6825 use checkbox if startsWith 'is' or 'has' by:alexm
+- feat(VnTable): refs #6825 VnTableChip component by:alexm
+- feat(vnTable): reload data when change url by:alexm
+- feat(WorkerFormation): add columnFilter by:alexm
+- feat(WorkerFormation): is-editable and use-model by:alexm
+- fix: notify icon style by:Javier Segarra
+- refactor: refs #6896 fixed styles by:Jon
+- Revert "feat: fixes #7196" by:alexm
+- style: refs #6464 changed checkbox and qbtn styles by:Jon
 
 ### Changed ๐Ÿ“ฆ
 
--   perf: Remove div.col by:Javier Segarra
--   perf: remove ItemPicture by:Javier Segarra
--   perf: replace ItemPicture in favour of VnImg by:Javier Segarra
--   refactor by:wbuezas
--   refactor: refs #5447 changed warehouse filter by:Jon
--   refactor: refs #5447 changed warehouse out filter behavior by:Jon
--   refactor: refs #5447 fixed filter if continent not selected by:Jon
--   refactor: refs #5447 fix request by:Jon
--   refactor: refs #5447 refactor filters by:Jon
--   refactor: refs #6739 changed invoice functions' name by:Jon
--   refactor: refs #6739 changed router.push by:Jon
--   refactor: refs #6739 deleted useless const by:Jon
--   refactor: refs #6739 fix redirect transferInvoice by:Jon
--   refactor: refs #6739 new confirmation window by:Jon
--   refactor: refs #6739 requested changes by:Jon
--   refactor: refs #6739 updated transferInvoice function by:Jon
--   refactor: refs #6896 changes requested in PR by:Jon
--   refactor: refs #6896 end migration orders by:Jon
--   refactor: refs #6896 fixed styles by:Jon
--   refactor: refs #6896 fix qdrawer by:Jon
--   refactor: refs #6896 refactor VnImg by:Jon
--   refactor: refs #6896 requested changes by:Jon
--   refactor: refs #6977 fix VnImg props (origin/6977-ClonedURL) by:Jon
--   refactor: refs #6977 refactor VnImg by:Jon
--   refactor: refs #6977 use VnImg by:Jon
--   refactors by:alexm
+- perf: Remove div.col by:Javier Segarra
+- perf: remove ItemPicture by:Javier Segarra
+- perf: replace ItemPicture in favour of VnImg by:Javier Segarra
+- refactor by:wbuezas
+- refactor: refs #5447 changed warehouse filter by:Jon
+- refactor: refs #5447 changed warehouse out filter behavior by:Jon
+- refactor: refs #5447 fixed filter if continent not selected by:Jon
+- refactor: refs #5447 fix request by:Jon
+- refactor: refs #5447 refactor filters by:Jon
+- refactor: refs #6739 changed invoice functions' name by:Jon
+- refactor: refs #6739 changed router.push by:Jon
+- refactor: refs #6739 deleted useless const by:Jon
+- refactor: refs #6739 fix redirect transferInvoice by:Jon
+- refactor: refs #6739 new confirmation window by:Jon
+- refactor: refs #6739 requested changes by:Jon
+- refactor: refs #6739 updated transferInvoice function by:Jon
+- refactor: refs #6896 changes requested in PR by:Jon
+- refactor: refs #6896 end migration orders by:Jon
+- refactor: refs #6896 fixed styles by:Jon
+- refactor: refs #6896 fix qdrawer by:Jon
+- refactor: refs #6896 refactor VnImg by:Jon
+- refactor: refs #6896 requested changes by:Jon
+- refactor: refs #6977 fix VnImg props (origin/6977-ClonedURL) by:Jon
+- refactor: refs #6977 refactor VnImg by:Jon
+- refactor: refs #6977 use VnImg by:Jon
+- refactors by:alexm
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   chore: refs #7436 fix e2e (origin/7436-showQCheckbox) by:jorgep
--   feat: fixes #7196 by:jgallego
--   feat: refs #6825 fix modes by:alexm
--   feat: refs #7129 fix some code and add order by:pablone
--   feat(VnTable): is-editable and use-model. fix: checkbox by:alexm
--   feat(VnTable): refs #6825 fix ellipsis and add titles by:alexm
--   feat(VnTable): refs #6825 move to folder. fix checkboxs by:alexm
--   fix(ArrayData): refs #6825 router.replace and use filter.where by:alexm
--   fix: bug replace by:alexm
--   fix: column hidden v-if by:Javier Segarra
--   fix: comment 4 by:Javier Segarra
--   fix: comments by:Javier Segarra
--   fix: cypress.config to mjs by:alexm
--   fix(EntryBuys): fix VnSubtoolbar by:alexm
--   fixes: fix vnFilter params and redirect by:alexm
--   fix: fix warnings by:alexm
--   fix: invoiceDueDay test by:alexm
--   fix log view not refreshing when changing id param by:wbuezas
--   fix: map selected by:Javier Segarra
--   fix: merge dev by:Javier Segarra
--   fix: notify icon style by:Javier Segarra
--   fix: point 1 by:Javier Segarra
--   fix: point 3 by:Javier Segarra
--   fix: refs #5447 deleted console.log by:Jon
--   fix: refs 6464 deleted useless class in checkbox by:Jon
--   fix: refs #6464 fix error isLoading by:Jon
--   fix: refs #6739 changed checkbox field by:Jon
--   fix: refs #6825 css by:carlossa
--   fix: refs #6826 fix redirect by:Jon
--   fix: refs #6826 fix roleDescriptor by:Jon
--   fix: refs #7129 fix e2e by:pablone
--   fix: refs #7129 fix module routes by:pablone
--   fix: refs #7129 fix some issues on load and tools by:pablone
--   fix: refs #7129 remove consoleLog by:pablone
--   fix: refs #7129 remove fix from claim lines by:pablone
--   fix: refs #7274 fix duplicate rows by:jorgep
--   fix: refs #7433 skeleton by:jorgep
--   fix: refs #7623 bugs & tests by:jorgep
--   fix: refs #7623 disable router update by:jorgep
--   fix: refs #7623 redirect by:jorgep
--   fix: refs #7623 test by:jorgep
--   fix: refs #7623 update add updateRoute prop in VnPaginate by:jorgep
--   fix: refs #7623 updating skip param by:jorgep
--   fix: revert cypress mjs by:alexm
--   fix: SkeletonTable by:alexm
--   fix: state translations by:Javier Segarra
--   fix: ticket order by:Javier Segarra
--   fix(ticket router): typo by:alexm
--   fix(TicketService): pay use selected by:alexm
--   fix: TravelLog by:Javier Segarra
--   fix(url): filter by:alexm
--   fix(url): redirect by:alexm
--   fix(VnFilter): filter with params by:alexm
--   fix(VnFilterPanel): remove key by:alexm
--   fix(VnTable): create scss by:alexm
--   fix(VnTable): duplicate fetch by:alexm
--   fix(VnTable): Qtable v-bind by:alexm
--   fix(VnTable): refs #6825 checkbox align and color by:alexm
--   fix(VnTable): refs #6825 fix click sticky column by:alexm
--   fix(VnTable): refs #6825 fix events and css by:alexm
--   fix(VnTable): refs #6825 VnInputDate by:alexm
--   fix(VnTable): showLabel by:alexm
--   fix(VnTable): warns by:alexm
--   fix: WorkerNotificationsManager test by:alexm
--   fix: WorkerSelect option format by:Javier Segarra
--   refactor: refs #5447 fixed filter if continent not selected by:Jon
--   refactor: refs #5447 fix request by:Jon
--   refactor: refs #6739 fix redirect transferInvoice by:Jon
--   refactor: refs #6896 fixed styles by:Jon
--   refactor: refs #6896 fix qdrawer by:Jon
--   refactor: refs #6977 fix VnImg props (origin/6977-ClonedURL) by:Jon
--   refs #6504 fix formModel claimFilter claimCard (origin/6504-fixCardClaim) by:carlossa
--   refs #7406 fix components by:carlossa
--   refs #7406 fix pr by:carlossa
--   refs #7406 fix props by:carlossa
--   refs #7406 fix Tb components create by:carlossa
--   refs #7406 fix trad by:carlossa
--   refs #7406 fix url by:carlossa
--   refs #7406 fix VnTable columns by:carlossa
--   refs #7409 fix balance and formation by:carlossa
--   refs #7409 fix trad by:carlossa
--   Revert "feat: fixes #7196" by:alexm
--   test: fix intermitent e2e by:alexm
--   test: fix vnSearchbar adapt to vnTable (origin/7648_dev_customerEntries) by:alexm
+- chore: refs #7436 fix e2e (origin/7436-showQCheckbox) by:jorgep
+- feat: fixes #7196 by:jgallego
+- feat: refs #6825 fix modes by:alexm
+- feat: refs #7129 fix some code and add order by:pablone
+- feat(VnTable): is-editable and use-model. fix: checkbox by:alexm
+- feat(VnTable): refs #6825 fix ellipsis and add titles by:alexm
+- feat(VnTable): refs #6825 move to folder. fix checkboxs by:alexm
+- fix(ArrayData): refs #6825 router.replace and use filter.where by:alexm
+- fix: bug replace by:alexm
+- fix: column hidden v-if by:Javier Segarra
+- fix: comment 4 by:Javier Segarra
+- fix: comments by:Javier Segarra
+- fix: cypress.config to mjs by:alexm
+- fix(EntryBuys): fix VnSubtoolbar by:alexm
+- fixes: fix vnFilter params and redirect by:alexm
+- fix: fix warnings by:alexm
+- fix: invoiceDueDay test by:alexm
+- fix log view not refreshing when changing id param by:wbuezas
+- fix: map selected by:Javier Segarra
+- fix: merge dev by:Javier Segarra
+- fix: notify icon style by:Javier Segarra
+- fix: point 1 by:Javier Segarra
+- fix: point 3 by:Javier Segarra
+- fix: refs #5447 deleted console.log by:Jon
+- fix: refs 6464 deleted useless class in checkbox by:Jon
+- fix: refs #6464 fix error isLoading by:Jon
+- fix: refs #6739 changed checkbox field by:Jon
+- fix: refs #6825 css by:carlossa
+- fix: refs #6826 fix redirect by:Jon
+- fix: refs #6826 fix roleDescriptor by:Jon
+- fix: refs #7129 fix e2e by:pablone
+- fix: refs #7129 fix module routes by:pablone
+- fix: refs #7129 fix some issues on load and tools by:pablone
+- fix: refs #7129 remove consoleLog by:pablone
+- fix: refs #7129 remove fix from claim lines by:pablone
+- fix: refs #7274 fix duplicate rows by:jorgep
+- fix: refs #7433 skeleton by:jorgep
+- fix: refs #7623 bugs & tests by:jorgep
+- fix: refs #7623 disable router update by:jorgep
+- fix: refs #7623 redirect by:jorgep
+- fix: refs #7623 test by:jorgep
+- fix: refs #7623 update add updateRoute prop in VnPaginate by:jorgep
+- fix: refs #7623 updating skip param by:jorgep
+- fix: revert cypress mjs by:alexm
+- fix: SkeletonTable by:alexm
+- fix: state translations by:Javier Segarra
+- fix: ticket order by:Javier Segarra
+- fix(ticket router): typo by:alexm
+- fix(TicketService): pay use selected by:alexm
+- fix: TravelLog by:Javier Segarra
+- fix(url): filter by:alexm
+- fix(url): redirect by:alexm
+- fix(VnFilter): filter with params by:alexm
+- fix(VnFilterPanel): remove key by:alexm
+- fix(VnTable): create scss by:alexm
+- fix(VnTable): duplicate fetch by:alexm
+- fix(VnTable): Qtable v-bind by:alexm
+- fix(VnTable): refs #6825 checkbox align and color by:alexm
+- fix(VnTable): refs #6825 fix click sticky column by:alexm
+- fix(VnTable): refs #6825 fix events and css by:alexm
+- fix(VnTable): refs #6825 VnInputDate by:alexm
+- fix(VnTable): showLabel by:alexm
+- fix(VnTable): warns by:alexm
+- fix: WorkerNotificationsManager test by:alexm
+- fix: WorkerSelect option format by:Javier Segarra
+- refactor: refs #5447 fixed filter if continent not selected by:Jon
+- refactor: refs #5447 fix request by:Jon
+- refactor: refs #6739 fix redirect transferInvoice by:Jon
+- refactor: refs #6896 fixed styles by:Jon
+- refactor: refs #6896 fix qdrawer by:Jon
+- refactor: refs #6977 fix VnImg props (origin/6977-ClonedURL) by:Jon
+- refs #6504 fix formModel claimFilter claimCard (origin/6504-fixCardClaim) by:carlossa
+- refs #7406 fix components by:carlossa
+- refs #7406 fix pr by:carlossa
+- refs #7406 fix props by:carlossa
+- refs #7406 fix Tb components create by:carlossa
+- refs #7406 fix trad by:carlossa
+- refs #7406 fix url by:carlossa
+- refs #7406 fix VnTable columns by:carlossa
+- refs #7409 fix balance and formation by:carlossa
+- refs #7409 fix trad by:carlossa
+- Revert "feat: fixes #7196" by:alexm
+- test: fix intermitent e2e by:alexm
+- test: fix vnSearchbar adapt to vnTable (origin/7648_dev_customerEntries) by:alexm
 
 # Version 24.24 - 2024-06-11
 
 ### Added ๐Ÿ†•
 
--   feat: 6942 hashtag in key : value summary by:jgallego
--   feat: #6957: Rename FetchedTags instance tag by:Javier Segarra
--   feat: refactor template by:Javier Segarra
--   feat: refs #6600 Add option to add comment for photo motivation by:jorgep
--   feat: refs #6942 test e2e tobook & toUnbook by:jorgep
--   feat: refs #6942 to book summary button & reactive value by:jorgep
--   feat: refs #6942 to unbook by:jorgep
--   feat: refs #6942 url update by:jorgep
--   feat: refs #6942 use correct currency in InvoiceIn components by:jorgep
--   feat: refs #6942 vat rate total by:jorgep
--   feat: refs #7494 new icons (7494-icons) by:alexm
--   feat: refs #7494 new icons by:alexm
--   feat: refs #7542 drop space by:jorgep
--   feat: refs #7542 empty by:jorgep
--   fix: refs #6942 changes and new features by:jorgep
--   fix: style by:Javier Segarra
--   style: color transparent when is fetive by:Javier Segarra
--   style: fix color when is empty by:Javier Segarra
--   style: reset poc style (6957_refactorFetechedTags) by:Javier Segarra
--   style: reset poc style by:Javier Segarra
--   style updates by:Javier Segarra
+- feat: 6942 hashtag in key : value summary by:jgallego
+- feat: #6957: Rename FetchedTags instance tag by:Javier Segarra
+- feat: refactor template by:Javier Segarra
+- feat: refs #6600 Add option to add comment for photo motivation by:jorgep
+- feat: refs #6942 test e2e tobook & toUnbook by:jorgep
+- feat: refs #6942 to book summary button & reactive value by:jorgep
+- feat: refs #6942 to unbook by:jorgep
+- feat: refs #6942 url update by:jorgep
+- feat: refs #6942 use correct currency in InvoiceIn components by:jorgep
+- feat: refs #6942 vat rate total by:jorgep
+- feat: refs #7494 new icons (7494-icons) by:alexm
+- feat: refs #7494 new icons by:alexm
+- feat: refs #7542 drop space by:jorgep
+- feat: refs #7542 empty by:jorgep
+- fix: refs #6942 changes and new features by:jorgep
+- fix: style by:Javier Segarra
+- style: color transparent when is fetive by:Javier Segarra
+- style: fix color when is empty by:Javier Segarra
+- style: reset poc style (6957_refactorFetechedTags) by:Javier Segarra
+- style: reset poc style by:Javier Segarra
+- style updates by:Javier Segarra
 
 ### Changed ๐Ÿ“ฆ
 
--   feat: refactor template by:Javier Segarra
--   perf: 6957 add color as new shared variable by:Javier Segarra
--   perf: 6957 change fetchedTags color by:Javier Segarra
--   perf: remove local tree variable by:Javier Segarra
--   refactor: add flat by:alexm
--   refactor: refs #6600 replace QInput to VnInput by:jorgep
--   refactor: refs #6652 improved defaulter section by:Jon
--   refactor: refs #6942 Fix getTotalAmount function to correctly calculate the total amount in InvoiceInDueDay.vue by:jorgep
--   refactor: refs #6942 new summary layout by:jorgep
--   refactor: refs #6942 store key & actions by:jorgep
--   refactor: refs #6942 summary by:jorgep
--   refactor: refs #6942 use router hook by:jorgep
--   refactor: refs #6942 WIP summary layout by:jorgep
+- feat: refactor template by:Javier Segarra
+- perf: 6957 add color as new shared variable by:Javier Segarra
+- perf: 6957 change fetchedTags color by:Javier Segarra
+- perf: remove local tree variable by:Javier Segarra
+- refactor: add flat by:alexm
+- refactor: refs #6600 replace QInput to VnInput by:jorgep
+- refactor: refs #6652 improved defaulter section by:Jon
+- refactor: refs #6942 Fix getTotalAmount function to correctly calculate the total amount in InvoiceInDueDay.vue by:jorgep
+- refactor: refs #6942 new summary layout by:jorgep
+- refactor: refs #6942 store key & actions by:jorgep
+- refactor: refs #6942 summary by:jorgep
+- refactor: refs #6942 use router hook by:jorgep
+- refactor: refs #6942 WIP summary layout by:jorgep
 
 ### Fixed ๐Ÿ› ๏ธ
 
--   fix: 9-12 by:Javier Segarra
--   fix: defaulter icon by:alexm
--   fix: refs #5186 validation by:jorgep
--   fix: refs #6095 add reFfk null on search by:pablone
--   fix: refs #6942 cardDescriptor use store if its popup or different source data by:jorgep
--   fix: refs #6942 changes and new features by:jorgep
--   fix: refs #6942 drop comments by:jorgep
--   fix: refs #6942 drop console by:jorgep
--   fix: refs #6942 drop console.log by:jorgep
--   fix: refs #6942 e2e test (origin/6942-warmfix-fixFormModel) by:jorgep
--   fix: refs #6942 e2e tests by:jorgep
--   fix: refs #6942 e2e tests by:jorgep
--   fix: refs #6942 fix emit on data saved by:jorgep
--   fix: refs #6942 fix emit on reset by:jorgep
--   fix: refs #6942 fix vncard by:jorgep
--   fix: refs #6942 formModel & CardDescriptor by:jorgep
--   fix: refs #6942 formModel watch changes & invoiceInCreate by:jorgep
--   fix: refs #6942 import by:jorgep
--   fix: refs #6942 reloading by:jorgep
--   fix: refs #6942 rollback by:jorgep
--   fix: refs #6942 selectable expense by:jorgep
--   fix: refs #6942 skip e2e tests by:jorgep
--   fix: refs #6942 table bottom highlight & drop isBooked field by:jorgep
--   fix: refs #6942 tests e2e by:jorgep
--   fix: refs #6942 tests & summary table spacing by:jorgep
--   fix: refs #6942 unit tests by:jorgep
--   fix: refs #6942 vnLocation by:jorgep
--   fix: refs #6942 wip: formModel by:jorgep
--   fix: refs #7542 use right panel by:jorgep
--   fix: searchbar redirect by:alexm
--   fix: style by:Javier Segarra
--   fix: WorkerCalendarItem by:Javier Segarra
--   mini fix by:wbuezas
--   refs #6111 clean code fix changes by:carlossa
--   refs #6111 fix merge, fix column by:carlossa
--   refs #6111 fix qtable, actions, scroll by:carlossa
--   refs #6111 fix routeList by:carlossa
--   refs #6111 fix sticky by:carlossa
--   refs #6111 fix trad remove logs by:carlossa
--   refs #6111 fix visibleColumns by:carlossa
--   refs #6111 routeList fix by:carlossa
--   refs #6332 fix calendar by:carlossa
--   refs #6332 fix colors by:carlossa
--   refs #6332 fix festive by:carlossa
--   refs #6820 fix BasicData Tickets by:carlossa
--   refs #6820 fix error front by:carlossa
--   refs #6820 fix traduction by:carlossa
--   refs #7391 fix textarea by:carlossa
--   refs #7396 fix summary by:carlossa
--   Search childs fix by:wbuezas
--   small fix by:wbuezas
--   style: fix color when is empty by:Javier Segarra
+- fix: 9-12 by:Javier Segarra
+- fix: defaulter icon by:alexm
+- fix: refs #5186 validation by:jorgep
+- fix: refs #6095 add reFfk null on search by:pablone
+- fix: refs #6942 cardDescriptor use store if its popup or different source data by:jorgep
+- fix: refs #6942 changes and new features by:jorgep
+- fix: refs #6942 drop comments by:jorgep
+- fix: refs #6942 drop console by:jorgep
+- fix: refs #6942 drop console.log by:jorgep
+- fix: refs #6942 e2e test (origin/6942-warmfix-fixFormModel) by:jorgep
+- fix: refs #6942 e2e tests by:jorgep
+- fix: refs #6942 e2e tests by:jorgep
+- fix: refs #6942 fix emit on data saved by:jorgep
+- fix: refs #6942 fix emit on reset by:jorgep
+- fix: refs #6942 fix vncard by:jorgep
+- fix: refs #6942 formModel & CardDescriptor by:jorgep
+- fix: refs #6942 formModel watch changes & invoiceInCreate by:jorgep
+- fix: refs #6942 import by:jorgep
+- fix: refs #6942 reloading by:jorgep
+- fix: refs #6942 rollback by:jorgep
+- fix: refs #6942 selectable expense by:jorgep
+- fix: refs #6942 skip e2e tests by:jorgep
+- fix: refs #6942 table bottom highlight & drop isBooked field by:jorgep
+- fix: refs #6942 tests e2e by:jorgep
+- fix: refs #6942 tests & summary table spacing by:jorgep
+- fix: refs #6942 unit tests by:jorgep
+- fix: refs #6942 vnLocation by:jorgep
+- fix: refs #6942 wip: formModel by:jorgep
+- fix: refs #7542 use right panel by:jorgep
+- fix: searchbar redirect by:alexm
+- fix: style by:Javier Segarra
+- fix: WorkerCalendarItem by:Javier Segarra
+- mini fix by:wbuezas
+- refs #6111 clean code fix changes by:carlossa
+- refs #6111 fix merge, fix column by:carlossa
+- refs #6111 fix qtable, actions, scroll by:carlossa
+- refs #6111 fix routeList by:carlossa
+- refs #6111 fix sticky by:carlossa
+- refs #6111 fix trad remove logs by:carlossa
+- refs #6111 fix visibleColumns by:carlossa
+- refs #6111 routeList fix by:carlossa
+- refs #6332 fix calendar by:carlossa
+- refs #6332 fix colors by:carlossa
+- refs #6332 fix festive by:carlossa
+- refs #6820 fix BasicData Tickets by:carlossa
+- refs #6820 fix error front by:carlossa
+- refs #6820 fix traduction by:carlossa
+- refs #7391 fix textarea by:carlossa
+- refs #7396 fix summary by:carlossa
+- Search childs fix by:wbuezas
+- small fix by:wbuezas
+- style: fix color when is empty by:Javier Segarra
 
 # Changelog
 
@@ -1526,9 +1811,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Added
 
--   (Item) => Se aรฑade la opciรณn de aรฑadir un comentario del motivo de hacer una foto
--   (Worker) => Se aรฑade la opciรณn de crear un trabajador ajeno a la empresa
--   (Route) => Ahora se muestran todos los cmrs
+- (Item) => Se aรฑade la opciรณn de aรฑadir un comentario del motivo de hacer una foto
+- (Worker) => Se aรฑade la opciรณn de crear un trabajador ajeno a la empresa
+- (Route) => Ahora se muestran todos los cmrs
 
 ## [2418.01]
 
@@ -1536,27 +1821,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Added
 
--   (Worker) => Se crea la secciรณn Taquilla
--   (General) => Se mantiene el filtro lateral en cualquier parte de la seccรญon.
+- (Worker) => Se crea la secciรณn Taquilla
+- (General) => Se mantiene el filtro lateral en cualquier parte de la seccรญon.
 
 ### Fixed
 
--   (General) => Se vuelven a mostrar los parรกmetros en la url al aplicar un filtro
+- (General) => Se vuelven a mostrar los parรกmetros en la url al aplicar un filtro
 
 ## [2414.01] - 2024-04-04
 
 ### Added
 
--   (Tickets) => Se aรฑade la opciรณn de clonar ticket. #6951
--   (Parking) => Se aรฑade la secciรณn Parking. #5186
+- (Tickets) => Se aรฑade la opciรณn de clonar ticket. #6951
+- (Parking) => Se aรฑade la secciรณn Parking. #5186
 
--   (Rutas) => Se aรฑade el campo "servida" a la tabla y se aรฑade tambiรฉn a los filtros. #7130
+- (Rutas) => Se aรฑade el campo "servida" a la tabla y se aรฑade tambiรฉn a los filtros. #7130
 
 ### Changed
 
 ### Fixed
 
--   (General) => Se corrige la redirecciรณn cuando hay 1 solo registro y cuando se aplica un filtro diferente al id al hacer una bรบsqueda general. #6893
+- (General) => Se corrige la redirecciรณn cuando hay 1 solo registro y cuando se aplica un filtro diferente al id al hacer una bรบsqueda general. #6893
 
 ## [2400.01] - 2024-01-04
 
@@ -1570,26 +1855,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Added
 
--   (Carros) => Se aรฑade contador de carros. #6545
--   (Reclamaciones) => Se aรฑade la secciรณn para hacer acciones sobre una reclamaciรณn. #5654
+- (Carros) => Se aรฑade contador de carros. #6545
+- (Reclamaciones) => Se aรฑade la secciรณn para hacer acciones sobre una reclamaciรณn. #5654
 
 ### Changed
 
 ### Fixed
 
--   (Reclamaciones) => Se corrige el color de la barra segรบn el tema y el evento de actualziar cantidades #6334
+- (Reclamaciones) => Se corrige el color de la barra segรบn el tema y el evento de actualziar cantidades #6334
 
 ## [2253.01] - 2023-01-05
 
 ### Added
 
--   (Clientes) => Aรฑadida nueva secciรณn "Pagos Web" para gestionar los pagos de todos los clientes
--   (Tickets) => Aรฑadida opciรณn en el menรบ desplegable del ticket para enviar SMS al cliente
--   (Reclamaciones) => Aรฑadida nueva secciรณn "Registros de auditorรญa"
--   (Trabajadores) => Aรฑadido mรณdulo de trabajadores
--   (General) => Aรฑadida barra de bรบsqueda general en los listados principales
--   (Vagones) => Aรฑadido mรณdulo de vagones
+- (Clientes) => Aรฑadida nueva secciรณn "Pagos Web" para gestionar los pagos de todos los clientes
+- (Tickets) => Aรฑadida opciรณn en el menรบ desplegable del ticket para enviar SMS al cliente
+- (Reclamaciones) => Aรฑadida nueva secciรณn "Registros de auditorรญa"
+- (Trabajadores) => Aรฑadido mรณdulo de trabajadores
+- (General) => Aรฑadida barra de bรบsqueda general en los listados principales
+- (Vagones) => Aรฑadido mรณdulo de vagones
 
 ### Changed
 
--   Changed...
+- Changed...
diff --git a/cypress.config.js b/cypress.config.js
index a9e27fcfdcb..26b7725a52a 100644
--- a/cypress.config.js
+++ b/cypress.config.js
@@ -34,6 +34,17 @@ export default defineConfig({
             const plugin = await import('cypress-mochawesome-reporter/plugin');
             plugin.default(on);
 
+            const fs = await import('fs');
+            on('task', {
+                deleteFile(filePath) {
+                    if (fs.existsSync(filePath)) {
+                        fs.unlinkSync(filePath);
+                        return true;
+                    }
+                    return false;
+                },
+            });
+
             return config;
         },
         viewportWidth: 1280,
diff --git a/package.json b/package.json
index d23ed0cedd3..e78b0cf3c6f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
     "name": "salix-front",
-    "version": "25.08.0",
+    "version": "25.10.0",
     "description": "Salix frontend",
     "productName": "Salix",
     "author": "Verdnatura",
@@ -71,4 +71,4 @@
         "vite": "^6.0.11",
         "vitest": "^0.31.1"
     }
-}
\ No newline at end of file
+}
diff --git a/src/boot/qformMixin.js b/src/boot/qformMixin.js
index cb31391b33d..182c51e4793 100644
--- a/src/boot/qformMixin.js
+++ b/src/boot/qformMixin.js
@@ -30,22 +30,5 @@ export default {
         } catch (error) {
             console.error(error);
         }
-        form.addEventListener('keyup', function (evt) {
-            if (evt.key === 'Enter' && !that.$attrs['prevent-submit']) {
-                const input = evt.target;
-                if (input.type == 'textarea' && evt.shiftKey) {
-                    evt.preventDefault();
-                    let { selectionStart, selectionEnd } = input;
-                    input.value =
-                        input.value.substring(0, selectionStart) +
-                        '\n' +
-                        input.value.substring(selectionEnd);
-                    selectionStart = selectionEnd = selectionStart + 1;
-                    return;
-                }
-                evt.preventDefault();
-                that.onSubmit();
-            }
-        });
     },
 };
diff --git a/src/components/CreateNewPostcodeForm.vue b/src/components/CreateNewPostcodeForm.vue
index 39ebfe540c7..a57e2c01c28 100644
--- a/src/components/CreateNewPostcodeForm.vue
+++ b/src/components/CreateNewPostcodeForm.vue
@@ -2,7 +2,6 @@
 import { reactive, ref } from 'vue';
 import { useI18n } from 'vue-i18n';
 
-import FetchData from 'components/FetchData.vue';
 import VnRow from 'components/ui/VnRow.vue';
 import VnSelect from 'src/components/common/VnSelect.vue';
 import VnSelectProvince from 'src/components/VnSelectProvince.vue';
@@ -21,14 +20,11 @@ const postcodeFormData = reactive({
     provinceFk: null,
     townFk: null,
 });
-const townsFetchDataRef = ref(false);
 const townFilter = ref({});
 
 const countriesRef = ref(false);
 const provincesOptions = ref([]);
-const townsOptions = ref([]);
 const town = ref({});
-const countryFilter = ref({});
 
 function onDataSaved(formData) {
     const newPostcode = {
@@ -51,7 +47,6 @@ async function setCountry(countryFk, data) {
     data.townFk = null;
     data.provinceFk = null;
     data.countryFk = countryFk;
-    await fetchTowns();
 }
 
 // Province
@@ -60,22 +55,11 @@ async function setProvince(id, data) {
     const newProvince = provincesOptions.value.find((province) => province.id == id);
     if (newProvince) data.countryFk = newProvince.countryFk;
     postcodeFormData.provinceFk = id;
-    await fetchTowns();
 }
 
 async function onProvinceCreated(data) {
     postcodeFormData.provinceFk = data.id;
 }
-function provinceByCountry(countryFk = postcodeFormData.countryFk) {
-    return provincesOptions.value
-        .filter((province) => province.countryFk === countryFk)
-        .map(({ id }) => id);
-}
-
-// Town
-async function handleTowns(data) {
-    townsOptions.value = data;
-}
 function setTown(newTown, data) {
     town.value = newTown;
     data.provinceFk = newTown?.provinceFk ?? newTown;
@@ -88,18 +72,6 @@ async function onCityCreated(newTown, formData) {
     formData.townFk = newTown;
     setTown(newTown, formData);
 }
-async function fetchTowns(countryFk = postcodeFormData.countryFk) {
-    if (!countryFk) return;
-    const provinces = postcodeFormData.provinceFk
-        ? [postcodeFormData.provinceFk]
-        : provinceByCountry();
-    townFilter.value.where = {
-        provinceFk: {
-            inq: provinces,
-        },
-    };
-    await townsFetchDataRef.value?.fetch();
-}
 
 async function filterTowns(name) {
     if (name !== '') {
@@ -108,22 +80,11 @@ async function filterTowns(name) {
                 like: `%${name}%`,
             },
         };
-        await townsFetchDataRef.value?.fetch();
     }
 }
 </script>
 
 <template>
-    <FetchData
-        ref="townsFetchDataRef"
-        :sort-by="['name ASC']"
-        :limit="30"
-        :filter="townFilter"
-        @on-fetch="handleTowns"
-        auto-load
-        url="Towns/location"
-    />
-
     <FormModelPopup
         url-create="postcodes"
         model="postcode"
@@ -149,14 +110,13 @@ async function filterTowns(name) {
                     @filter="filterTowns"
                     :tooltip="t('Create city')"
                     v-model="data.townFk"
-                    :options="townsOptions"
-                    option-label="name"
-                    option-value="id"
+                    url="Towns/location"
                     :rules="validate('postcode.city')"
                     :acls="[{ model: 'Town', props: '*', accessType: 'WRITE' }]"
                     :emit-value="false"
                     required
                     data-cy="locationTown"
+                    sort-by="name ASC"
                 >
                     <template #option="{ itemProps, opt }">
                         <QItem v-bind="itemProps">
@@ -197,16 +157,12 @@ async function filterTowns(name) {
                 />
                 <VnSelect
                     ref="countriesRef"
-                    :limit="30"
-                    :filter="countryFilter"
                     :sort-by="['name ASC']"
                     auto-load
                     url="Countries"
                     required
                     :label="t('Country')"
                     hide-selected
-                    option-label="name"
-                    option-value="id"
                     v-model="data.countryFk"
                     :rules="validate('postcode.countryFk')"
                     @update:model-value="(value) => setCountry(value, data)"
diff --git a/src/components/CreateNewProvinceForm.vue b/src/components/CreateNewProvinceForm.vue
index d35690eebb9..1fc0c1f7a19 100644
--- a/src/components/CreateNewProvinceForm.vue
+++ b/src/components/CreateNewProvinceForm.vue
@@ -62,12 +62,9 @@ const where = computed(() => {
                     auto-load
                     :where="where"
                     url="Autonomies/location"
-                    :sort-by="['name ASC']"
-                    :limit="30"
+                    sort-by="name ASC"
                     :label="t('Autonomy')"
                     hide-selected
-                    option-label="name"
-                    option-value="id"
                     v-model="data.autonomyFk"
                     :rules="validate('province.autonomyFk')"
                 >
diff --git a/src/components/FilterItemForm.vue b/src/components/FilterItemForm.vue
index 34968ccef3a..cacfde1b39a 100644
--- a/src/components/FilterItemForm.vue
+++ b/src/components/FilterItemForm.vue
@@ -42,7 +42,6 @@ const itemFilter = {
 const itemFilterParams = reactive({});
 const closeButton = ref(null);
 const isLoading = ref(false);
-const producersOptions = ref([]);
 const ItemTypesOptions = ref([]);
 const InksOptions = ref([]);
 const tableRows = ref([]);
@@ -121,23 +120,17 @@ const selectItem = ({ id }) => {
 </script>
 
 <template>
-    <FetchData
-        url="Producers"
-        @on-fetch="(data) => (producersOptions = data)"
-        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
-        auto-load
-    />
     <FetchData
         url="ItemTypes"
-        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
-        order="name"
+        :filter="{ fields: ['id', 'name'], order: 'name ASC' }"
+        order="name ASC"
         @on-fetch="(data) => (ItemTypesOptions = data)"
         auto-load
     />
     <FetchData
         url="Inks"
-        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
-        order="name"
+        :filter="{ fields: ['id', 'name'], order: 'name ASC' }"
+        order="name ASC"
         @on-fetch="(data) => (InksOptions = data)"
         auto-load
     />
@@ -152,11 +145,11 @@ const selectItem = ({ id }) => {
                 <VnInput :label="t('entry.buys.size')" v-model="itemFilterParams.size" />
                 <VnSelect
                     :label="t('globals.producer')"
-                    :options="producersOptions"
                     hide-selected
-                    option-label="name"
-                    option-value="id"
                     v-model="itemFilterParams.producerFk"
+                    url="Producers"
+                    :fields="['id', 'name']"
+                    sort-by="name ASC"
                 />
                 <VnSelect
                     :label="t('globals.type')"
diff --git a/src/components/FilterTravelForm.vue b/src/components/FilterTravelForm.vue
index ab50d0899d1..765d97763f0 100644
--- a/src/components/FilterTravelForm.vue
+++ b/src/components/FilterTravelForm.vue
@@ -124,7 +124,7 @@ const selectTravel = ({ id }) => {
     <FetchData
         url="AgencyModes"
         @on-fetch="(data) => (agenciesOptions = data)"
-        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
+        :filter="{ fields: ['id', 'name'], order: 'name ASC' }"
         auto-load
     />
     <FetchData
diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue
index 5a59f301e97..04ef13d45c3 100644
--- a/src/components/FormModel.vue
+++ b/src/components/FormModel.vue
@@ -1,6 +1,6 @@
 <script setup>
 import axios from 'axios';
-import { onMounted, onUnmounted, computed, ref, watch, nextTick } from 'vue';
+import { onMounted, onUnmounted, computed, ref, watch, nextTick, useAttrs } from 'vue';
 import { onBeforeRouteLeave, useRouter, useRoute } from 'vue-router';
 import { useI18n } from 'vue-i18n';
 import { useQuasar } from 'quasar';
@@ -22,6 +22,7 @@ const { validate } = useValidator();
 const { notify } = useNotify();
 const route = useRoute();
 const myForm = ref(null);
+const attrs = useAttrs();
 const $props = defineProps({
     url: {
         type: String,
@@ -106,14 +107,14 @@ const isLoading = ref(false);
 const isResetting = ref(false);
 const hasChanges = ref(!$props.observeFormChanges);
 const originalData = computed(() => state.get(modelValue));
-const formData = ref({});
+const formData = ref();
 const defaultButtons = computed(() => ({
     save: {
         dataCy: 'saveDefaultBtn',
         color: 'primary',
         icon: 'save',
         label: 'globals.save',
-        click: () => myForm.value.onSubmit(false),
+        click: async () => await save(),
         type: 'submit',
     },
     reset: {
@@ -134,7 +135,8 @@ onMounted(async () => {
 
     if (!$props.formInitialData) {
         if ($props.autoLoad && $props.url) await fetch();
-        else if (arrayData.store.data) updateAndEmit('onFetch', arrayData.store.data);
+        else if (arrayData.store.data)
+            updateAndEmit('onFetch', { val: arrayData.store.data });
     }
     if ($props.observeFormChanges) {
         watch(
@@ -154,7 +156,7 @@ onMounted(async () => {
 if (!$props.url)
     watch(
         () => arrayData.store.data,
-        (val) => updateAndEmit('onFetch', val),
+        (val) => updateAndEmit('onFetch', { val }),
     );
 
 watch(
@@ -200,15 +202,14 @@ async function fetch() {
         });
         if (Array.isArray(data)) data = data[0] ?? {};
 
-        updateAndEmit('onFetch', data);
+        updateAndEmit('onFetch', { val: data });
     } catch (e) {
         state.set(modelValue, {});
         throw e;
     }
 }
 
-async function save(prevent = false) {
-    if (prevent) return;
+async function save() {
     if ($props.observeFormChanges && !hasChanges.value)
         return notify('globals.noChanges', 'negative');
 
@@ -228,7 +229,11 @@ async function save(prevent = false) {
 
         if ($props.urlCreate) notify('globals.dataCreated', 'positive');
 
-        updateAndEmit('onDataSaved', formData.value, response?.data);
+        updateAndEmit('onDataSaved', {
+            val: formData.value,
+            res: response?.data,
+            old: originalData.value,
+        });
         if ($props.reload) await arrayData.fetch({});
         hasChanges.value = false;
     } finally {
@@ -243,7 +248,7 @@ async function saveAndGo() {
 
 function reset() {
     formData.value = JSON.parse(JSON.stringify(originalData.value));
-    updateAndEmit('onFetch', originalData.value);
+    updateAndEmit('onFetch', { val: originalData.value });
     if ($props.observeFormChanges) {
         hasChanges.value = false;
         isResetting.value = true;
@@ -265,11 +270,11 @@ function filter(value, update, filterOptions) {
     );
 }
 
-function updateAndEmit(evt, val, res) {
+function updateAndEmit(evt, { val, res, old } = { val: null, res: null, old: null }) {
     state.set(modelValue, val);
     if (!$props.url) arrayData.store.data = val;
 
-    emit(evt, state.get(modelValue), res);
+    emit(evt, state.get(modelValue), res, old);
 }
 
 function trimData(data) {
@@ -280,6 +285,22 @@ function trimData(data) {
     return data;
 }
 
+async function onKeyup(evt) {
+    if (evt.key === 'Enter' && !('prevent-submit' in attrs)) {
+        const input = evt.target;
+        if (input.type == 'textarea' && evt.shiftKey) {
+            let { selectionStart, selectionEnd } = input;
+            input.value =
+                input.value.substring(0, selectionStart) +
+                '\n' +
+                input.value.substring(selectionEnd);
+            selectionStart = selectionEnd = selectionStart + 1;
+            return;
+        }
+        await save();
+    }
+}
+
 defineExpose({
     save,
     isLoading,
@@ -294,12 +315,12 @@ defineExpose({
         <QForm
             ref="myForm"
             v-if="formData"
-            @submit="save(!!$event)"
+            @submit.prevent
+            @keyup.prevent="onKeyup"
             @reset="reset"
             class="q-pa-md"
             :style="maxWidth ? 'max-width: ' + maxWidth : ''"
             id="formModel"
-            :prevent-submit="$attrs['prevent-submit']"
         >
             <QCard>
                 <slot
diff --git a/src/components/FormModelPopup.vue b/src/components/FormModelPopup.vue
index 98b6117431e..672eeff7a23 100644
--- a/src/components/FormModelPopup.vue
+++ b/src/components/FormModelPopup.vue
@@ -27,10 +27,15 @@ const formModelRef = ref(null);
 const closeButton = ref(null);
 const isSaveAndContinue = ref(false);
 const onDataSaved = (formData, requestResponse) => {
-    if (closeButton.value && isSaveAndContinue) closeButton.value.click();
+    if (closeButton.value && !isSaveAndContinue.value) closeButton.value.click();
     emit('onDataSaved', formData, requestResponse);
 };
 
+const onClick = async (saveAndContinue) => {
+    isSaveAndContinue.value = saveAndContinue;
+    await formModelRef.value.save();
+};
+
 const isLoading = computed(() => formModelRef.value?.isLoading);
 const reset = computed(() => formModelRef.value?.reset);
 
@@ -78,10 +83,7 @@ defineExpose({
                     :flat="showSaveAndContinueBtn"
                     :label="t('globals.save')"
                     :title="t('globals.save')"
-                    @click="
-                        formModelRef.save();
-                        isSaveAndContinue = false;
-                    "
+                    @click="onClick(false)"
                     color="primary"
                     class="q-ml-sm"
                     :disabled="isLoading"
@@ -99,10 +101,7 @@ defineExpose({
                     :loading="isLoading"
                     data-cy="FormModelPopup_isSaveAndContinue"
                     z-max
-                    @click="
-                        isSaveAndContinue = true;
-                        formModelRef.save();
-                    "
+                    @click="onClick(true)"
                 />
             </div>
         </template>
diff --git a/src/components/ItemsFilterPanel.vue b/src/components/ItemsFilterPanel.vue
index b6209d8e2d6..f73753a6bcc 100644
--- a/src/components/ItemsFilterPanel.vue
+++ b/src/components/ItemsFilterPanel.vue
@@ -121,23 +121,25 @@ const removeTag = (index, params, search) => {
     applyTags(params, search);
 };
 const setCategoryList = (data) => {
-    categoryList.value = (data || [])
-        .filter((category) => category.display)
-        .map((category) => ({
-            ...category,
-            icon: `vn:${(category.icon || '').split('-')[1]}`,
-        }));
+    categoryList.value = (data || []).map((category) => ({
+        ...category,
+        icon: `vn:${(category.icon || '').split('-')[1]}`,
+    }));
     fetchItemTypes();
 };
 </script>
 
 <template>
-    <FetchData url="ItemCategories" limit="30" auto-load @on-fetch="setCategoryList" />
+    <FetchData
+        url="ItemCategories"
+        auto-load
+        @on-fetch="setCategoryList"
+        :where="{ display: { neq: 0 } }"
+    />
     <FetchData
         url="Tags"
         :filter="{ fields: ['id', 'name', 'isFree'] }"
         auto-load
-        limit="30"
         @on-fetch="(data) => (tagOptions = data)"
     />
     <VnFilterPanel
@@ -195,8 +197,6 @@ const setCategoryList = (data) => {
                         :label="t('components.itemsFilterPanel.typeFk')"
                         v-model="params.typeFk"
                         :options="itemTypesOptions"
-                        option-value="id"
-                        option-label="name"
                         dense
                         outlined
                         rounded
@@ -234,7 +234,6 @@ const setCategoryList = (data) => {
                         :label="t('globals.tag')"
                         v-model="value.selectedTag"
                         :options="tagOptions"
-                        option-label="name"
                         dense
                         outlined
                         rounded
diff --git a/src/components/TicketProblems.vue b/src/components/TicketProblems.vue
index a24735a5f33..783f2556fe8 100644
--- a/src/components/TicketProblems.vue
+++ b/src/components/TicketProblems.vue
@@ -1,8 +1,22 @@
 <script setup>
+import { toCurrency } from 'src/filters';
+
 defineProps({ row: { type: Object, required: true } });
 </script>
 <template>
     <span class="q-gutter-x-xs">
+        <router-link
+            v-if="row.claim?.claimFk"
+            :to="{ name: 'ClaimBasicData', params: { id: row.claim?.claimFk } }"
+            class="link"
+        >
+            <QIcon name="vn:claims" size="xs">
+                <QTooltip>
+                    {{ t('ticketSale.claim') }}:
+                    {{ row.claim?.claimFk }}
+                </QTooltip>
+            </QIcon>
+        </router-link>
         <QIcon
             v-if="row?.risk"
             name="vn:risk"
@@ -10,7 +24,8 @@ defineProps({ row: { type: Object, required: true } });
             size="xs"
         >
             <QTooltip>
-                {{ $t('salesTicketsTable.risk') }}: {{ row.risk - row.credit }}
+                {{ $t('salesTicketsTable.risk') }}:
+                {{ toCurrency(row.risk - row.credit) }}
             </QTooltip>
         </QIcon>
         <QIcon
@@ -53,7 +68,7 @@ defineProps({ row: { type: Object, required: true } });
             <QTooltip>{{ $t('salesTicketsTable.purchaseRequest') }}</QTooltip>
         </QIcon>
         <QIcon
-            v-if="!row?.isTaxDataChecked === 0"
+            v-if="row?.isTaxDataChecked !== 0"
             name="vn:no036"
             color="primary"
             size="xs"
diff --git a/src/components/VnTable/VnColumn.vue b/src/components/VnTable/VnColumn.vue
index 44364cca171..d0e24538880 100644
--- a/src/components/VnTable/VnColumn.vue
+++ b/src/components/VnTable/VnColumn.vue
@@ -1,6 +1,6 @@
 <script setup>
 import { markRaw, computed } from 'vue';
-import { QIcon, QCheckbox, QToggle } from 'quasar';
+import { QIcon, QToggle } from 'quasar';
 import { dashIfEmpty } from 'src/filters';
 
 import VnSelect from 'components/common/VnSelect.vue';
diff --git a/src/components/VnTable/VnFilter.vue b/src/components/VnTable/VnFilter.vue
index 2dad8fe52ef..0de3834eadb 100644
--- a/src/components/VnTable/VnFilter.vue
+++ b/src/components/VnTable/VnFilter.vue
@@ -152,7 +152,7 @@ const onTabPressed = async () => {
 };
 </script>
 <template>
-    <div v-if="showFilter" class="full-width flex-center" style="overflow: hidden">
+    <div v-if="showFilter" class="full-width" style="overflow: hidden">
         <VnColumn
             :column="$props.column"
             default="input"
diff --git a/src/components/VnTable/VnOrder.vue b/src/components/VnTable/VnOrder.vue
index e3795cc4ba8..47ed9acf4ff 100644
--- a/src/components/VnTable/VnOrder.vue
+++ b/src/components/VnTable/VnOrder.vue
@@ -23,6 +23,10 @@ const $props = defineProps({
         type: Boolean,
         default: false,
     },
+    align: {
+        type: String,
+        default: 'end',
+    },
 });
 const hover = ref();
 const arrayData = useArrayData($props.dataKey, { searchUrl: $props.searchUrl });
@@ -46,16 +50,27 @@ async function orderBy(name, direction) {
 }
 
 defineExpose({ orderBy });
+
+function textAlignToFlex(textAlign) {
+    return `justify-content: ${
+        {
+            'text-center': 'center',
+            'text-left': 'start',
+            'text-right': 'end',
+        }[textAlign] || 'start'
+    };`;
+}
 </script>
 <template>
     <div
         @mouseenter="hover = true"
         @mouseleave="hover = false"
         @click="orderBy(name, model?.direction)"
-        class="row items-center no-wrap cursor-pointer title"
+        class="items-center no-wrap cursor-pointer title"
+        :style="textAlignToFlex(align)"
     >
         <span :title="label">{{ label }}</span>
-        <sup v-if="name && model?.index">
+        <div v-if="name && model?.index">
             <QChip
                 :label="!vertical ? model?.index : ''"
                 :icon="
@@ -92,20 +107,16 @@ defineExpose({ orderBy });
                     />
                 </div>
             </QChip>
-        </sup>
+        </div>
     </div>
 </template>
 <style lang="scss" scoped>
 .title {
     display: flex;
-    justify-content: center;
     align-items: center;
     height: 30px;
     width: 100%;
     color: var(--vn-label-color);
-}
-sup {
-    vertical-align: super; /* Valor predeterminado */
-    /* Tambiรฉn puedes usar otros valores como "baseline", "top", "text-top", etc. */
+    white-space: nowrap;
 }
 </style>
diff --git a/src/components/VnTable/VnTable.vue b/src/components/VnTable/VnTable.vue
index 99a4057c763..fe4806193d1 100644
--- a/src/components/VnTable/VnTable.vue
+++ b/src/components/VnTable/VnTable.vue
@@ -10,14 +10,15 @@ import {
     render,
     inject,
     useAttrs,
+    nextTick,
 } from 'vue';
 import { useArrayData } from 'src/composables/useArrayData';
 import { useI18n } from 'vue-i18n';
 import { useRoute, useRouter } from 'vue-router';
-import { useQuasar } from 'quasar';
+import { useQuasar, date } from 'quasar';
 import { useStateStore } from 'stores/useStateStore';
 import { useFilterParams } from 'src/composables/useFilterParams';
-import { dashIfEmpty } from 'src/filters';
+import { dashIfEmpty, toDate } from 'src/filters';
 
 import CrudModel from 'src/components/CrudModel.vue';
 import FormModelPopup from 'components/FormModelPopup.vue';
@@ -164,7 +165,6 @@ const app = inject('app');
 const editingRow = ref(null);
 const editingField = ref(null);
 const isTableMode = computed(() => mode.value == TABLE_MODE);
-const showRightIcon = computed(() => $props.rightSearch || $props.rightSearchIcon);
 const selectRegex = /select/;
 const emit = defineEmits(['onFetch', 'update:selected', 'saveChanges']);
 const tableModes = [
@@ -345,7 +345,7 @@ const clickHandler = async (event) => {
     if (isDateElement || isTimeElement || isQselectDropDown) return;
 
     if (clickedElement === null) {
-        destroyInput(editingRow.value, editingField.value);
+        await destroyInput(editingRow.value, editingField.value);
         return;
     }
     const rowIndex = clickedElement.getAttribute('data-row-index');
@@ -353,19 +353,19 @@ const clickHandler = async (event) => {
     const column = $props.columns.find((col) => col.name === colField);
 
     if (editingRow.value !== null && editingField.value !== null) {
-        if (editingRow.value === rowIndex && editingField.value === colField) {
-            return;
-        }
+        if (editingRow.value == rowIndex && editingField.value == colField) return;
 
-        destroyInput(editingRow.value, editingField.value);
+        await destroyInput(editingRow.value, editingField.value);
     }
-    if (isEditableColumn(column))
+
+    if (isEditableColumn(column)) {
         await renderInput(Number(rowIndex), colField, clickedElement);
+    }
 };
 
 async function handleTabKey(event, rowIndex, colField) {
     if (editingRow.value == rowIndex && editingField.value == colField)
-        destroyInput(editingRow.value, editingField.value);
+        await destroyInput(editingRow.value, editingField.value);
 
     const direction = event.shiftKey ? -1 : 1;
     const { nextRowIndex, nextColumnName } = await handleTabNavigation(
@@ -425,7 +425,8 @@ async function renderInput(rowId, field, clickedElement) {
                 await column?.cellEvent?.['update:modelValue']?.(value, oldValue, row);
             },
             keyup: async (event) => {
-                if (event.key === 'Enter') handleBlur(rowId, field, clickedElement);
+                if (event.key === 'Enter')
+                    await destroyInput(rowIndex, field, clickedElement);
             },
             keydown: async (event) => {
                 switch (event.key) {
@@ -434,7 +435,7 @@ async function renderInput(rowId, field, clickedElement) {
                         event.stopPropagation();
                         break;
                     case 'Escape':
-                        destroyInput(rowId, field, clickedElement);
+                        await destroyInput(rowId, field, clickedElement);
                         break;
                     default:
                         break;
@@ -456,12 +457,13 @@ async function renderInput(rowId, field, clickedElement) {
         node.el?.querySelector('span > div > div').focus();
 }
 
-function destroyInput(rowIndex, field, clickedElement) {
+async function destroyInput(rowIndex, field, clickedElement) {
     if (!clickedElement)
         clickedElement = document.querySelector(
             `[data-row-index="${rowIndex}"][data-col-field="${field}"]`,
         );
     if (clickedElement) {
+        await nextTick();
         render(null, clickedElement);
         Array.from(clickedElement.childNodes).forEach((child) => {
             child.style.visibility = 'visible';
@@ -473,10 +475,6 @@ function destroyInput(rowIndex, field, clickedElement) {
     editingField.value = null;
 }
 
-function handleBlur(rowIndex, field, clickedElement) {
-    destroyInput(rowIndex, field, clickedElement);
-}
-
 async function handleTabNavigation(rowIndex, colName, direction) {
     const columns = $props.columns;
     const totalColumns = columns.length;
@@ -492,9 +490,7 @@ async function handleTabNavigation(rowIndex, colName, direction) {
         if (isEditableColumn(columns[newColumnIndex])) break;
     } while (iterations < totalColumns);
 
-    if (iterations >= totalColumns) {
-        return;
-    }
+    if (iterations >= totalColumns + 1) return;
 
     if (direction === 1 && newColumnIndex <= currentColumnIndex) {
         rowIndex++;
@@ -523,17 +519,44 @@ function getToggleIcon(value) {
 }
 
 function formatColumnValue(col, row, dashIfEmpty) {
-    if (col?.format) {
+    if (col?.format || row[col?.name + 'TextValue']) {
         if (selectRegex.test(col?.component) && row[col?.name + 'TextValue']) {
             return dashIfEmpty(row[col?.name + 'TextValue']);
         } else {
             return col.format(row, dashIfEmpty);
         }
-    } else {
-        return dashIfEmpty(row[col?.name]);
     }
+
+    if (col?.component === 'date') return dashIfEmpty(toDate(row[col?.name]));
+
+    if (col?.component === 'time')
+        return row[col?.name] >= 5
+            ? dashIfEmpty(date.formatDate(new Date(row[col?.name]), 'HH:mm'))
+            : row[col?.name];
+
+    if (selectRegex.test(col?.component) && $props.isEditable) {
+        const { find, url } = col.attrs;
+        const urlRelation = url?.charAt(0)?.toLocaleLowerCase() + url?.slice(1, -1);
+
+        if (col?.attrs.options) {
+            const find = col?.attrs.options.find((option) => option.id === row[col.name]);
+            if (!col.attrs?.optionLabel || !find) return dashIfEmpty(row[col?.name]);
+            return dashIfEmpty(find[col.attrs?.optionLabel ?? 'name']);
+        }
+
+        if (typeof row[urlRelation] == 'object') {
+            if (typeof find == 'object')
+                return dashIfEmpty(row[urlRelation][find?.label ?? 'name']);
+
+            return dashIfEmpty(row[urlRelation][col?.attrs.optionLabel ?? 'name']);
+        }
+        if (typeof row[urlRelation] == 'string') return dashIfEmpty(row[urlRelation]);
+    }
+    return dashIfEmpty(row[col?.name]);
+}
+function cardClick(_, row) {
+    if ($props.redirect) router.push({ path: `/${$props.redirect}/${row.id}` });
 }
-const checkbox = ref(null);
 </script>
 <template>
     <QDrawer
@@ -617,29 +640,21 @@ const checkbox = ref(null);
                         dense
                         :options="tableModes.filter((mode) => !mode.disable)"
                     />
-
-                    <QBtn
-                        v-if="showRightIcon"
-                        icon="filter_alt"
-                        class="bg-vn-section-color q-ml-sm"
-                        dense
-                        @click="stateStore.toggleRightDrawer()"
-                    />
                 </template>
                 <template #header-cell="{ col }">
                     <QTh
                         v-if="col.visible ?? true"
+                        v-bind:class="col.headerClass"
                         class="body-cell"
                         :style="col?.width ? `max-width: ${col?.width}` : ''"
-                        style="padding: inherit"
                     >
                         <div
                             class="no-padding"
-                            :style="
-                                withFilters && $props.columnSearch ? 'height: 75px' : ''
-                            "
+                            :style="[
+                                withFilters && $props.columnSearch ? 'height: 75px' : '',
+                            ]"
                         >
-                            <div class="text-center" style="height: 30px">
+                            <div style="height: 30px">
                                 <QTooltip v-if="col.toolTip">{{ col.toolTip }}</QTooltip>
                                 <VnTableOrder
                                     v-model="orders[col.orderBy ?? col.name]"
@@ -647,6 +662,7 @@ const checkbox = ref(null);
                                     :label="col?.labelAbbreviation ?? col?.label"
                                     :data-key="$attrs['data-key']"
                                     :search-url="searchUrl"
+                                    :align="getColAlign(col)"
                                 />
                             </div>
                             <VnFilter
@@ -728,7 +744,11 @@ const checkbox = ref(null);
                                 <span
                                     v-else
                                     :class="hasEditableFormat(col)"
-                                    :style="col?.style ? col.style(row) : null"
+                                    :style="
+                                        typeof col?.style == 'function'
+                                            ? col.style(row)
+                                            : col?.style
+                                    "
                                     style="bottom: 0"
                                 >
                                     {{ formatColumnValue(col, row, dashIfEmpty) }}
@@ -755,7 +775,7 @@ const checkbox = ref(null);
                             flat
                             dense
                             :class="
-                                btn.isPrimary ? 'text-primary-light' : 'color-vn-text '
+                                btn.isPrimary ? 'text-primary-light' : 'color-vn-label'
                             "
                             :style="`visibility: ${
                                 ((btn.show && btn.show(row)) ?? true)
@@ -763,23 +783,19 @@ const checkbox = ref(null);
                                     : 'hidden'
                             }`"
                             @click="btn.action(row)"
+                            :data-cy="btn?.name ?? `tableAction-${index}`"
                         />
                     </QTd>
                 </template>
                 <template #item="{ row, colsMap }">
                     <component
-                        :is="$props.redirect ? 'router-link' : 'span'"
-                        :to="`/${$props.redirect}/` + row.id"
+                        v-bind:is="'div'"
+                        @click="(event) => cardClick(event, row)"
                     >
                         <QCard
                             bordered
                             flat
                             class="row no-wrap justify-between cursor-pointer q-pa-sm"
-                            @click="
-                                (_, row) => {
-                                    $props.rowClick && $props.rowClick(row);
-                                }
-                            "
                             style="height: 100%"
                         >
                             <QCardSection
@@ -816,7 +832,7 @@ const checkbox = ref(null);
                                 </QCardSection>
                                 <!-- Fields -->
                                 <QCardSection
-                                    class="q-pl-sm q-pr-lg q-py-xs"
+                                    class="q-pl-sm q-py-xs"
                                     :class="$props.cardClass"
                                 >
                                     <div
@@ -863,13 +879,14 @@ const checkbox = ref(null);
                                     :key="index"
                                     :title="btn.title"
                                     :icon="btn.icon"
+                                    data-cy="cardBtn"
                                     class="q-pa-xs"
-                                    flat
                                     :class="
                                         btn.isPrimary
                                             ? 'text-primary-light'
-                                            : 'color-vn-text '
+                                            : 'color-vn-label'
                                     "
+                                    flat
                                     @click="btn.action(row)"
                                 />
                             </QCardSection>
@@ -1027,8 +1044,8 @@ es:
 }
 
 .body-cell {
-    padding-left: 2px !important;
-    padding-right: 2px !important;
+    padding-left: 4px !important;
+    padding-right: 4px !important;
     position: relative;
 }
 .bg-chip-secondary {
@@ -1048,7 +1065,7 @@ es:
 .grid-three {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, max-content));
-    max-width: 100%;
+    width: 100%;
     grid-gap: 20px;
     margin: 0 auto;
 }
@@ -1122,6 +1139,7 @@ es:
 .vn-label-value {
     display: flex;
     flex-direction: row;
+    align-items: center;
     color: var(--vn-text-color);
     .value {
         overflow: hidden;
diff --git a/src/components/__tests__/FormModel.spec.js b/src/components/__tests__/FormModel.spec.js
index 17812f1468c..3dce043749d 100644
--- a/src/components/__tests__/FormModel.spec.js
+++ b/src/components/__tests__/FormModel.spec.js
@@ -57,6 +57,7 @@ describe('FormModel', () => {
             vm.state.set(model, formInitialData);
             expect(vm.hasChanges).toBe(false);
 
+            await vm.$nextTick();
             vm.formData.mockKey = 'newVal';
             await vm.$nextTick();
             expect(vm.hasChanges).toBe(true);
@@ -94,8 +95,12 @@ describe('FormModel', () => {
         it('should call axios.patch with the right data', async () => {
             const spy = vi.spyOn(axios, 'patch').mockResolvedValue({ data: {} });
             const { vm } = mount({ propsData: { url, model } });
-            vm.formData.mockKey = 'newVal';
+
+            vm.formData = {};
             await vm.$nextTick();
+            vm.formData = { mockKey: 'newVal' };
+            await vm.$nextTick();
+
             await vm.save();
             expect(spy).toHaveBeenCalled();
             vm.formData.mockKey = 'mockVal';
diff --git a/src/components/common/VnCardBeta.vue b/src/components/common/VnCardBeta.vue
index d2bed62575c..7c82316dc44 100644
--- a/src/components/common/VnCardBeta.vue
+++ b/src/components/common/VnCardBeta.vue
@@ -39,6 +39,13 @@ onBeforeMount(async () => {
 });
 
 onBeforeRouteUpdate(async (to, from) => {
+    if (hasRouteParam(to.params)) {
+        const { matched } = router.currentRoute.value;
+        const { name } = matched.at(-3);
+        if (name) {
+            router.push({ name, params: to.params });
+        }
+    }
     const id = to.params.id;
     if (id !== from.params.id) await fetch(id, true);
 });
@@ -50,6 +57,9 @@ async function fetch(id, append = false) {
     else arrayData.store.url = props.url.replace(regex, `/${id}`);
     await arrayData.fetch({ append, updateRouter: false });
 }
+function hasRouteParam(params, valueToCheck = ':addressId') {
+    return Object.values(params).includes(valueToCheck);
+}
 </script>
 <template>
     <Teleport to="#left-panel" v-if="stateStore.isHeaderMounted()">
diff --git a/src/components/common/VnComponent.vue b/src/components/common/VnComponent.vue
index d9d1ea26b4a..a9e1c8cffc9 100644
--- a/src/components/common/VnComponent.vue
+++ b/src/components/common/VnComponent.vue
@@ -48,7 +48,8 @@ function toValueAttrs(attrs) {
     <span
         v-for="toComponent of componentArray"
         :key="toComponent.name"
-        class="column flex-center fit"
+        class="column fit"
+        :class="toComponent?.component == 'checkbox' ? 'flex-center' : ''"
     >
         <component
             v-if="toComponent?.component"
diff --git a/src/components/common/VnInputDate.vue b/src/components/common/VnInputDate.vue
index 73c825e1e26..1f4705faa15 100644
--- a/src/components/common/VnInputDate.vue
+++ b/src/components/common/VnInputDate.vue
@@ -107,6 +107,7 @@ const manageDate = (date) => {
             @click="isPopupOpen = !isPopupOpen"
             @keydown="isPopupOpen = false"
             hide-bottom-space
+            :data-cy="$attrs.dataCy ?? $attrs.label + '_inputDate'"
         >
             <template #append>
                 <QIcon
diff --git a/src/components/common/VnLocation.vue b/src/components/common/VnLocation.vue
index 3ede24274d9..5028e876dae 100644
--- a/src/components/common/VnLocation.vue
+++ b/src/components/common/VnLocation.vue
@@ -85,6 +85,7 @@ const handleModelValue = (data) => {
         :tooltip="t('Create new location')"
         :rules="mixinRules"
         :lazy-rules="true"
+        required
     >
         <template #form>
             <CreateNewPostcode
diff --git a/src/components/ui/CardDescriptor.vue b/src/components/ui/CardDescriptor.vue
index e6e7e6fa0f1..6f122ecd28b 100644
--- a/src/components/ui/CardDescriptor.vue
+++ b/src/components/ui/CardDescriptor.vue
@@ -193,22 +193,24 @@ const toModule = computed(() =>
                         </div>
                     </QItemLabel>
                     <QItem>
-                        <QItemLabel class="subtitle" caption>
+                        <QItemLabel class="subtitle">
                             #{{ getValueFromPath(subtitle) ?? entity.id }}
-                            <QBtn
-                                round
-                                flat
-                                dense
-                                size="sm"
-                                icon="content_copy"
-                                color="primary"
-                                @click.stop="copyIdText(entity.id)"
-                            >
-                                <QTooltip>
-                                    {{ t('globals.copyId') }}
-                                </QTooltip>
-                            </QBtn>
                         </QItemLabel>
+
+                        <QBtn
+                            round
+                            flat
+                            dense
+                            size="sm"
+                            icon="content_copy"
+                            color="primary"
+                            @click.stop="copyIdText(entity.id)"
+                        >
+                            <QTooltip>
+                                {{ t('globals.copyId') }}
+                            </QTooltip>
+                        </QBtn>
+                        <!-- </QItemLabel> -->
                     </QItem>
                 </QList>
                 <div class="list-box q-mt-xs">
diff --git a/src/components/ui/VnUsesMana.vue b/src/components/ui/VnUsesMana.vue
index 1ad4a706e93..cb066b2359c 100644
--- a/src/components/ui/VnUsesMana.vue
+++ b/src/components/ui/VnUsesMana.vue
@@ -53,3 +53,8 @@ const manaCode = ref(props.manaCode);
         />
     </div>
 </template>
+<i18n>
+    es:
+        Promotion mana: Manรก promociรณn
+        Claim mana: Manรก reclamaciรณn
+</i18n>
diff --git a/src/composables/__tests__/useRequired.spec.js b/src/composables/__tests__/useRequired.spec.js
new file mode 100644
index 00000000000..e035a80c6c7
--- /dev/null
+++ b/src/composables/__tests__/useRequired.spec.js
@@ -0,0 +1,66 @@
+import { describe, it, expect, vi } from 'vitest';
+import { useRequired } from '../useRequired';
+
+vi.mock('../useValidator', () => ({
+    useValidator: () => ({
+        validations: () => ({
+            required: vi.fn((isRequired, val) => {
+                if (!isRequired) return true;
+                return val !== null && val !== undefined && val !== '';
+            }),
+        }),
+    }),
+}));
+
+describe('useRequired', () => {
+    it('should detect required when attr is boolean true', () => {
+        const attrs = { required: true };
+        const { isRequired } = useRequired(attrs);
+        expect(isRequired).toBe(true);
+    });
+
+    it('should detect required when attr is boolean false', () => {
+        const attrs = { required: false };
+        const { isRequired } = useRequired(attrs);
+        expect(isRequired).toBe(false);
+    });
+
+    it('should detect required when attr exists without value', () => {
+        const attrs = { required: '' };
+        const { isRequired } = useRequired(attrs);
+        expect(isRequired).toBe(true);
+    });
+
+    it('should return false when required attr does not exist', () => {
+        const attrs = { someOtherAttr: 'value' };
+        const { isRequired } = useRequired(attrs);
+        expect(isRequired).toBe(false);
+    });
+
+    describe('requiredFieldRule', () => {
+        it('should validate required field with value', () => {
+            const attrs = { required: true };
+            const { requiredFieldRule } = useRequired(attrs);
+            expect(requiredFieldRule('some value')).toBe(true);
+        });
+
+        it('should validate required field with empty value', () => {
+            const attrs = { required: true };
+            const { requiredFieldRule } = useRequired(attrs);
+            expect(requiredFieldRule('')).toBe(false);
+        });
+
+        it('should pass validation when field is not required', () => {
+            const attrs = { required: false };
+            const { requiredFieldRule } = useRequired(attrs);
+            expect(requiredFieldRule('')).toBe(true);
+        });
+
+        it('should handle null and undefined values', () => {
+            const attrs = { required: true };
+            const { requiredFieldRule } = useRequired(attrs);
+            expect(requiredFieldRule(null)).toBe(false);
+            expect(requiredFieldRule(undefined)).toBe(false);
+        });
+    });
+});
diff --git a/src/composables/getColAlign.js b/src/composables/getColAlign.js
index c0338a98401..a930fd7d86c 100644
--- a/src/composables/getColAlign.js
+++ b/src/composables/getColAlign.js
@@ -1,13 +1,14 @@
 export function getColAlign(col) {
     let align;
     switch (col.component) {
+        case 'time':
+        case 'date':
         case 'select':
             align = 'left';
             break;
         case 'number':
             align = 'right';
             break;
-        case 'date':
         case 'checkbox':
             align = 'center';
             break;
diff --git a/src/composables/useCau.js b/src/composables/useCau.js
index a71300464b2..43bfc5180b7 100644
--- a/src/composables/useCau.js
+++ b/src/composables/useCau.js
@@ -11,7 +11,7 @@ export async function useCau(res, message) {
     const { config, headers, request, status, statusText, data } = res || {};
     const { params, url, method, signal, headers: confHeaders } = config || {};
     const { message: resMessage, code, name } = data?.error || {};
-    delete confHeaders.Authorization;
+    delete confHeaders?.Authorization;
 
     const additionalData = {
         path: location.hash,
diff --git a/src/composables/useRequired.js b/src/composables/useRequired.js
index d211b96b459..4e84b9e48c4 100644
--- a/src/composables/useRequired.js
+++ b/src/composables/useRequired.js
@@ -2,14 +2,10 @@ import { useValidator } from 'src/composables/useValidator';
 
 export function useRequired($attrs) {
     const { validations } = useValidator();
-    const hasRequired = Object.keys($attrs).includes('required');
-    let isRequired = false;
-    if (hasRequired) {
-        const required = $attrs['required'];
-        if (typeof required === 'boolean') {
-            isRequired = required;
-        }
-    }
+    const isRequired =
+        typeof $attrs['required'] === 'boolean'
+            ? $attrs['required']
+            : Object.keys($attrs).includes('required');
     const requiredFieldRule = (val) => validations().required(isRequired, val);
 
     return {
diff --git a/src/css/app.scss b/src/css/app.scss
index 0c5dc97fa7e..994ae7ff112 100644
--- a/src/css/app.scss
+++ b/src/css/app.scss
@@ -335,3 +335,7 @@ input::-webkit-inner-spin-button {
     border: 1px solid;
     box-shadow: 0 4px 6px #00000000;
 }
+
+.containerShrinked {
+    width: 80%;
+}
diff --git a/src/filters/toDate.js b/src/filters/toDate.js
index 8fe8f383662..002797af528 100644
--- a/src/filters/toDate.js
+++ b/src/filters/toDate.js
@@ -3,6 +3,8 @@ import { useI18n } from 'vue-i18n';
 export default function (value, options = {}) {
     if (!value) return;
 
+    if (!isValidDate(value)) return null;
+
     if (!options.dateStyle && !options.timeStyle) {
         options.day = '2-digit';
         options.month = '2-digit';
@@ -10,7 +12,12 @@ export default function (value, options = {}) {
     }
 
     const { locale } = useI18n();
-    const date = new Date(value);
+    const newDate = new Date(value);
 
-    return new Intl.DateTimeFormat(locale.value, options).format(date);
+    return new Intl.DateTimeFormat(locale.value, options).format(newDate);
+}
+// handle 0000-00-00
+function isValidDate(date) {
+    const parsedDate = new Date(date);
+    return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
 }
diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml
index e3b69004239..9a60e9da138 100644
--- a/src/i18n/locale/en.yml
+++ b/src/i18n/locale/en.yml
@@ -49,6 +49,7 @@ globals:
     rowRemoved: Row removed
     pleaseWait: Please wait...
     noPinnedModules: You don't have any pinned modules
+    enterToConfirm: Press Enter to confirm
     summary:
         basicData: Basic data
     daysOnward: Days onward
@@ -830,6 +831,8 @@ travel:
         CloneTravelAndEntries: Clone travel and his entries
         deleteTravel: Delete travel
         AddEntry: Add entry
+        availabled: Availabled
+        availabledHour: Availabled hour
         thermographs: Thermographs
         hb: HB
     basicData:
diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml
index 1dbe253664e..846c442ea51 100644
--- a/src/i18n/locale/es.yml
+++ b/src/i18n/locale/es.yml
@@ -51,6 +51,7 @@ globals:
     pleaseWait: Por favor espera...
     noPinnedModules: No has fijado ningรบn mรณdulo
     split: Split
+    enterToConfirm: Pulsa Enter para confirmar
     summary:
         basicData: Datos bรกsicos
     daysOnward: Dรญas adelante
@@ -839,6 +840,7 @@ supplier:
         verified: Verificado
         isActive: Estรก activo
         billingData: Forma de pago
+        financialData: Datos financieros
         payDeadline: Plazo de pago
         payDay: Dรญa de pago
         account: Cuenta
@@ -916,6 +918,8 @@ travel:
         deleteTravel: Eliminar envรญo
         AddEntry: Aรฑadir entrada
         thermographs: Termรณgrafos
+        availabled: F. Disponible
+        availabledHour: Hora Disponible
         hb: HB
     basicData:
         daysInForward: Desplazamiento automatico (redada)
diff --git a/src/pages/Account/Card/AccountDescriptorMenu.vue b/src/pages/Account/Card/AccountDescriptorMenu.vue
index a06329c6d02..30584c61f46 100644
--- a/src/pages/Account/Card/AccountDescriptorMenu.vue
+++ b/src/pages/Account/Card/AccountDescriptorMenu.vue
@@ -158,7 +158,7 @@ onMounted(() => {
     >
         <QItemSection>{{ t('globals.delete') }}</QItemSection>
     </QItem>
-    <QItem v-if="hasSysadminAccess" v-ripple clickable>
+    <QItem v-if="hasSysadminAccess || isHimself" v-ripple clickable>
         <QItemSection @click="onChangePass(isHimself)">
             {{ isHimself ? t('globals.changePass') : t('globals.setPass') }}
         </QItemSection>
diff --git a/src/pages/Claim/Card/ClaimPhoto.vue b/src/pages/Claim/Card/ClaimPhoto.vue
index fb2f818c161..d4acc9bbe27 100644
--- a/src/pages/Claim/Card/ClaimPhoto.vue
+++ b/src/pages/Claim/Card/ClaimPhoto.vue
@@ -156,7 +156,6 @@ function onDrag() {
         url="Claims"
         :filter="claimDmsFilter"
         @on-fetch="([data]) => setClaimDms(data)"
-        limit="20"
         auto-load
         ref="claimDmsRef"
     />
diff --git a/src/pages/Customer/Card/CustomerBillingData.vue b/src/pages/Customer/Card/CustomerBillingData.vue
index cfea8b0700c..cc894d01e64 100644
--- a/src/pages/Customer/Card/CustomerBillingData.vue
+++ b/src/pages/Customer/Card/CustomerBillingData.vue
@@ -17,8 +17,7 @@ const bankEntitiesRef = ref(null);
 
 const filter = {
     fields: ['id', 'bic', 'name'],
-    order: 'bic ASC',
-    limit: 30,
+    order: 'bic ASC'
 };
 
 const getBankEntities = (data, formData) => {
diff --git a/src/pages/Customer/Card/CustomerConsumption.vue b/src/pages/Customer/Card/CustomerConsumption.vue
index eef9d55b5b2..f3949bb32d7 100644
--- a/src/pages/Customer/Card/CustomerConsumption.vue
+++ b/src/pages/Customer/Card/CustomerConsumption.vue
@@ -232,7 +232,6 @@ const updateDateParams = (value, params) => {
                     :include="'category'"
                     :sortBy="'name ASC'"
                     dense
-                    @update:model-value="(data) => updateDateParams(data, params)"
                 >
                     <template #option="scope">
                         <QItem v-bind="scope.itemProps">
@@ -254,7 +253,6 @@ const updateDateParams = (value, params) => {
                     :fields="['id', 'name']"
                     :sortBy="'name ASC'"
                     dense
-                    @update:model-value="(data) => updateDateParams(data, params)"
                 />
                 <VnSelect
                     v-model="params.campaign"
@@ -303,12 +301,14 @@ en:
     valentinesDay: Valentine's Day
     mothersDay: Mother's Day
     allSaints: All Saints' Day
+    frenchMothersDay: Mother's Day in France
 es:
     Enter a new search: Introduce una nueva bรบsqueda
     Group by items: Agrupar por artรญculos
     valentinesDay: Dรญa de San Valentรญn
     mothersDay: Dรญa de la Madre
     allSaints: Dรญa de Todos los Santos
+    frenchMothersDay: (Francia) Dรญa de la Madre
     Campaign consumption: Consumo campaรฑa
     Campaign: Campaรฑa
     From: Desde
diff --git a/src/pages/Customer/Card/CustomerFiscalData.vue b/src/pages/Customer/Card/CustomerFiscalData.vue
index 8f334b11019..93909eb9c75 100644
--- a/src/pages/Customer/Card/CustomerFiscalData.vue
+++ b/src/pages/Customer/Card/CustomerFiscalData.vue
@@ -2,7 +2,10 @@
 import { ref } from 'vue';
 import { useI18n } from 'vue-i18n';
 import { useRoute } from 'vue-router';
+import { useQuasar } from 'quasar';
+import axios from 'axios';
 
+import useNotify from 'src/composables/useNotify.js';
 import FetchData from 'components/FetchData.vue';
 import FormModel from 'components/FormModel.vue';
 import VnRow from 'components/ui/VnRow.vue';
@@ -11,9 +14,12 @@ import VnSelect from 'src/components/common/VnSelect.vue';
 import VnLocation from 'src/components/common/VnLocation.vue';
 import VnCheckbox from 'src/components/common/VnCheckbox.vue';
 import { getDifferences, getUpdatedValues } from 'src/filters';
+import VnConfirm from 'src/components/ui/VnConfirm.vue';
 
+const quasar = useQuasar();
 const { t } = useI18n();
 const route = useRoute();
+const { notify } = useNotify();
 
 const typesTaxes = ref([]);
 const typesTransactions = ref([]);
@@ -31,6 +37,31 @@ function onBeforeSave(formData, originalData) {
         formData,
     );
 }
+
+async function checkEtChanges(data, _, originalData) {
+    const equalizatedHasChanged = originalData.isEqualizated != data.isEqualizated;
+    const hasToInvoiceByAddress =
+        originalData.hasToInvoiceByAddress || data.hasToInvoiceByAddress;
+    if (equalizatedHasChanged && hasToInvoiceByAddress) {
+        quasar.dialog({
+            component: VnConfirm,
+            componentProps: {
+                title: t('You changed the equalization tax'),
+                message: t('Do you want to spread the change?'),
+                promise: () => acceptPropagate(data),
+            },
+        });
+    } else if (equalizatedHasChanged) {
+        await acceptPropagate(data);
+    }
+}
+
+async function acceptPropagate({ isEqualizated }) {
+    await axios.patch(`Clients/${route.params.id}/addressesPropagateRe`, {
+        isEqualizated,
+    });
+    notify(t('Equivalent tax spreaded'), 'warning');
+}
 </script>
 
 <template>
@@ -45,6 +76,8 @@ function onBeforeSave(formData, originalData) {
         auto-load
         model="Customer"
         :mapper="onBeforeSave"
+        observe-form-changes
+        @on-data-saved="checkEtChanges"
     >
         <template #form="{ data, validate }">
             <VnRow>
@@ -180,6 +213,9 @@ es:
     whenActivatingIt: Al activarlo, no informar el cรณdigo del paรญs en el campo nif
     inOrderToInvoice: Para facturar no se consulta este campo, sino el RE de consignatario. Al modificar este campo si no esta marcada la casilla Facturar por consignatario, se propagarรก automaticamente el cambio a todos lo consignatarios, en caso contrario preguntarรก al usuario si quiere o no propagar
     Daily invoice: Facturaciรณn diaria
+    Equivalent tax spreaded: Recargo de equivalencia propagado
+    You changed the equalization tax: Has cambiado el recargo de equivalencia
+    Do you want to spread the change?: ยฟDeseas propagar el cambio a sus consignatarios?
 en:
     onlyLetters: Only letters, numbers and spaces can be used
     whenActivatingIt: When activating it, do not enter the country code in the ID field
diff --git a/src/pages/Customer/Card/CustomerSummary.vue b/src/pages/Customer/Card/CustomerSummary.vue
index d2eb125d724..324da0771aa 100644
--- a/src/pages/Customer/Card/CustomerSummary.vue
+++ b/src/pages/Customer/Card/CustomerSummary.vue
@@ -270,7 +270,7 @@ const sumRisk = ({ clientRisks }) => {
                 <VnTitle
                     target="_blank"
                     :url="`${grafanaUrl}/d/40buzE4Vk/comportamiento-pagos-clientes?orgId=1&var-clientFk=${entityId}`"
-                    :text="t('customer.summary.payMethodFk')"
+                    :text="t('customer.summary.financialData')"
                     icon="vn:grafana"
                 />
                 <VnLv
diff --git a/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue b/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue
index 6952379ca53..f637c7e0a6a 100644
--- a/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue
+++ b/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue
@@ -87,7 +87,7 @@ onMounted(async () => {
     <FetchData
         url="Campaigns/latest"
         @on-fetch="(data) => (campaignsOptions = data)"
-        :filter="{ fields: ['id', 'code', 'dated'], order: 'code ASC', limit: 30 }"
+        :filter="{ fields: ['id', 'code', 'dated'], order: 'code ASC' }"
         auto-load
     />
     <FetchData
diff --git a/src/pages/Customer/components/CustomerAddressCreate.vue b/src/pages/Customer/components/CustomerAddressCreate.vue
index 32b4078db88..e1be6b1504c 100644
--- a/src/pages/Customer/components/CustomerAddressCreate.vue
+++ b/src/pages/Customer/components/CustomerAddressCreate.vue
@@ -98,7 +98,6 @@ function onAgentCreated({ id, fiscalName }, data) {
                 :rules="validate('Worker.postcode')"
                 :acls="[{ model: 'Town', props: '*', accessType: 'WRITE' }]"
                 v-model="data.location"
-                :required="true"
                 @update:model-value="(location) => handleLocation(data, location)"
             />
 
diff --git a/src/pages/Customer/components/CustomerAddressEdit.vue b/src/pages/Customer/components/CustomerAddressEdit.vue
index 5b36650f7ea..f852c160ac2 100644
--- a/src/pages/Customer/components/CustomerAddressEdit.vue
+++ b/src/pages/Customer/components/CustomerAddressEdit.vue
@@ -96,11 +96,11 @@ const updateObservations = async (payload) => {
     await axios.post('AddressObservations/crud', payload);
     notes.value = [];
     deletes.value = [];
-    toCustomerAddress();
 };
 async function updateAll({ data, payload }) {
     await updateObservations(payload);
     await updateAddress(data);
+    toCustomerAddress();
 }
 function getPayload() {
     return {
@@ -137,15 +137,12 @@ async function handleDialog(data) {
             .onOk(async () => {
                 await updateAddressTicket();
                 await updateAll(body);
-                toCustomerAddress();
             })
             .onCancel(async () => {
                 await updateAll(body);
-                toCustomerAddress();
             });
     } else {
-        updateAll(body);
-        toCustomerAddress();
+        await updateAll(body);
     }
 }
 
@@ -236,7 +233,7 @@ function handleLocation(data, location) {
                             postcode: data.postalCode,
                             city: data.city,
                             province: data.province,
-                            country: data.province.country,
+                            country: data.province?.country,
                         }"
                         @update:model-value="(location) => handleLocation(data, location)"
                     ></VnLocation>
diff --git a/src/pages/Customer/components/CustomerNewPayment.vue b/src/pages/Customer/components/CustomerNewPayment.vue
index 7f45cd7db6a..8f61bac89ec 100644
--- a/src/pages/Customer/components/CustomerNewPayment.vue
+++ b/src/pages/Customer/components/CustomerNewPayment.vue
@@ -114,7 +114,7 @@ function onBeforeSave(data) {
     if (isCash.value && shouldSendEmail.value && !data.email)
         return notify(t('There is no assigned email for this client'), 'negative');
 
-    data.bankFk = data.bankFk.id;
+    data.bankFk = data.bankFk?.id;
     return data;
 }
 
@@ -189,7 +189,7 @@ async function getAmountPaid() {
             :url-create="urlCreate"
             :mapper="onBeforeSave"
             @on-data-saved="onDataSaved"
-            :prevent-submit="true"
+            prevent-submit
         >
             <template #form="{ data, validate }">
                 <span ref="closeButton" class="row justify-end close-icon" v-close-popup>
diff --git a/src/pages/Entry/Card/EntryBuys.vue b/src/pages/Entry/Card/EntryBuys.vue
index e159c53569a..81578c609e1 100644
--- a/src/pages/Entry/Card/EntryBuys.vue
+++ b/src/pages/Entry/Card/EntryBuys.vue
@@ -16,7 +16,6 @@ import ItemDescriptor from 'src/pages/Item/Card/ItemDescriptor.vue';
 import axios from 'axios';
 import VnSelectEnum from 'src/components/common/VnSelectEnum.vue';
 import { checkEntryLock } from 'src/composables/checkEntryLock';
-import SkeletonDescriptor from 'src/components/ui/SkeletonDescriptor.vue';
 
 const $props = defineProps({
     id: {
@@ -103,7 +102,7 @@ const columns = [
         name: 'itemFk',
         component: 'number',
         isEditable: false,
-        width: '40px',
+        width: '35px',
     },
     {
         labelAbbreviation: '',
@@ -111,7 +110,7 @@ const columns = [
         name: 'hex',
         columnSearch: false,
         isEditable: false,
-        width: '5px',
+        width: '9px',
         component: 'select',
         attrs: {
             url: 'Inks',
@@ -181,6 +180,7 @@ const columns = [
             url: 'packagings',
             fields: ['id'],
             optionLabel: 'id',
+            optionValue: 'id',
         },
         create: true,
         width: '40px',
@@ -192,7 +192,7 @@ const columns = [
         component: 'number',
         create: true,
         width: '35px',
-        format: (row, dashIfEmpty) => parseFloat(row['weight']).toFixed(1),
+        format: (row) => parseFloat(row['weight']).toFixed(1),
     },
     {
         labelAbbreviation: 'P',
@@ -209,13 +209,14 @@ const columns = [
                 row['amount'] = row['quantity'] * row['buyingValue'];
             },
         },
-        width: '20px',
+        width: '30px',
         style: (row) => {
             if (row.groupingMode === 'grouping')
                 return { color: 'var(--vn-label-color)' };
         },
     },
     {
+        align: 'center',
         labelAbbreviation: 'GM',
         label: t('Grouping selector'),
         toolTip: t('Grouping selector'),
@@ -249,7 +250,7 @@ const columns = [
         toolTip: 'Grouping',
         name: 'grouping',
         component: 'number',
-        width: '20px',
+        width: '30px',
         create: true,
         style: (row) => {
             if (row.groupingMode === 'packing') return { color: 'var(--vn-label-color)' };
@@ -329,6 +330,25 @@ const columns = [
         create: true,
         format: (row) => parseFloat(row['price3']).toFixed(2),
     },
+    {
+        align: 'center',
+        labelAbbreviation: 'CM',
+        label: t('Check min price'),
+        toolTip: t('Check min price'),
+        name: 'hasMinPrice',
+        attrs: {
+            toggleIndeterminate: false,
+        },
+        component: 'checkbox',
+        cellEvent: {
+            'update:modelValue': async (value, oldValue, row) => {
+                await axios.patch(`Items/${row['itemFk']}`, {
+                    hasMinPrice: value,
+                });
+            },
+        },
+        width: '25px',
+    },
     {
         align: 'center',
         labelAbbreviation: 'Min.',
@@ -349,25 +369,6 @@ const columns = [
         },
         format: (row) => parseFloat(row['minPrice']).toFixed(2),
     },
-    {
-        align: 'center',
-        labelAbbreviation: 'CM',
-        label: t('Check min price'),
-        toolTip: t('Check min price'),
-        name: 'hasMinPrice',
-        attrs: {
-            toggleIndeterminate: false,
-        },
-        component: 'checkbox',
-        cellEvent: {
-            'update:modelValue': async (value, oldValue, row) => {
-                await axios.patch(`Items/${row['itemFk']}`, {
-                    hasMinPrice: value,
-                });
-            },
-        },
-        width: '25px',
-    },
     {
         align: 'center',
         labelAbbreviation: t('P.Sen'),
@@ -377,6 +378,9 @@ const columns = [
         component: 'number',
         isEditable: false,
         width: '40px',
+        style: () => {
+            return { color: 'var(--vn-label-color)' };
+        },
     },
     {
         align: 'center',
@@ -416,6 +420,9 @@ const columns = [
         component: 'input',
         isEditable: false,
         width: '35px',
+        style: () => {
+            return { color: 'var(--vn-label-color)' };
+        },
     },
 ];
 
@@ -508,7 +515,7 @@ async function setBuyUltimate(itemFk, data) {
 
     allowedKeys.forEach((key) => {
         if (buyUltimateData.hasOwnProperty(key) && key !== 'entryFk') {
-            data[key] = buyUltimateData[key];
+            if (!['stickers', 'quantity'].includes(key)) data[key] = buyUltimateData[key];
         }
     });
 }
@@ -600,7 +607,6 @@ onMounted(() => {
         ref="entryBuysRef"
         data-key="EntryBuys"
         :url="`Entries/${entityId}/getBuyList`"
-        order="name DESC"
         save-url="Buys/crud"
         :disable-option="{ card: true }"
         v-model:selected="selectedRows"
@@ -644,7 +650,8 @@ onMounted(() => {
         :is-editable="editableMode"
         :without-header="!editableMode"
         :with-filters="editableMode"
-        :right-search="editableMode"
+        :right-search="true"
+        :right-search-icon="true"
         :row-click="false"
         :columns="columns"
         :beforeSaveFn="beforeSave"
diff --git a/src/pages/Entry/EntryLatestBuysFilter.vue b/src/pages/Entry/EntryLatestBuysFilter.vue
index 235f29dfbc2..658ba3847da 100644
--- a/src/pages/Entry/EntryLatestBuysFilter.vue
+++ b/src/pages/Entry/EntryLatestBuysFilter.vue
@@ -1,8 +1,6 @@
 <script setup>
 import { ref } from 'vue';
 import { useI18n } from 'vue-i18n';
-
-import FetchData from 'components/FetchData.vue';
 import VnInputDate from 'src/components/common/VnInputDate.vue';
 import VnInput from 'components/common/VnInput.vue';
 import VnSelect from 'components/common/VnSelect.vue';
@@ -18,18 +16,10 @@ defineProps({
     },
 });
 
-const itemTypeWorkersOptions = ref([]);
 const tagValues = ref([]);
 </script>
 
 <template>
-    <FetchData
-        url="TicketRequests/getItemTypeWorker"
-        limit="30"
-        auto-load
-        :filter="{ fields: ['id', 'nickname'], order: 'nickname ASC', limit: 30 }"
-        @on-fetch="(data) => (itemTypeWorkersOptions = data)"
-    />
     <ItemsFilterPanel :data-key="dataKey" :custom-tags="['tags']">
         <template #body="{ params, searchFn }">
             <QItem class="q-my-md">
@@ -37,9 +27,10 @@ const tagValues = ref([]);
                     <VnSelect
                         :label="t('components.itemsFilterPanel.salesPersonFk')"
                         v-model="params.salesPersonFk"
-                        :options="itemTypeWorkersOptions"
-                        option-value="id"
+                        url="TicketRequests/getItemTypeWorker"
                         option-label="nickname"
+                        :fields="['id', 'nickname']"
+                        sort-by="nickname ASC"
                         dense
                         outlined
                         rounded
@@ -52,8 +43,9 @@ const tagValues = ref([]);
                 <QItemSection>
                     <VnSelectSupplier
                         v-model="params.supplierFk"
-                        @update:model-value="searchFn()"
-                        hide-selected
+                        url="Suppliers"
+                        :fields="['id', 'name', 'nickname']"
+                        sort-by="name ASC"
                         dense
                         outlined
                         rounded
diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue
index 845d6560457..3c96a230286 100644
--- a/src/pages/Entry/EntryList.vue
+++ b/src/pages/Entry/EntryList.vue
@@ -44,28 +44,32 @@ const entryQueryFilter = {
 
 const columns = computed(() => [
     {
-        label: 'Ex',
+        labelAbbreviation: 'Ex',
+        label: t('entry.list.tableVisibleColumns.isExcludedFromAvailable'),
         toolTip: t('entry.list.tableVisibleColumns.isExcludedFromAvailable'),
         name: 'isExcludedFromAvailable',
         component: 'checkbox',
         width: '35px',
     },
     {
-        label: 'Pe',
+        labelAbbreviation: 'Pe',
+        label: t('entry.list.tableVisibleColumns.isOrdered'),
         toolTip: t('entry.list.tableVisibleColumns.isOrdered'),
         name: 'isOrdered',
         component: 'checkbox',
         width: '35px',
     },
     {
-        label: 'Le',
+        labelAbbreviation: 'LE',
+        label: t('entry.list.tableVisibleColumns.isConfirmed'),
         toolTip: t('entry.list.tableVisibleColumns.isConfirmed'),
         name: 'isConfirmed',
         component: 'checkbox',
         width: '35px',
     },
     {
-        label: 'Re',
+        labelAbbreviation: 'Re',
+        label: t('entry.list.tableVisibleColumns.isReceived'),
         toolTip: t('entry.list.tableVisibleColumns.isReceived'),
         name: 'isReceived',
         component: 'checkbox',
@@ -89,6 +93,7 @@ const columns = computed(() => [
         chip: {
             condition: () => true,
         },
+        width: '50px',
     },
     {
         label: t('entry.list.tableVisibleColumns.supplierFk'),
@@ -99,8 +104,10 @@ const columns = computed(() => [
         attrs: {
             url: 'suppliers',
             fields: ['id', 'name'],
+            where: { order: 'name DESC' },
         },
         format: (row, dashIfEmpty) => dashIfEmpty(row.supplierName),
+        width: '110px',
     },
     {
         align: 'left',
@@ -124,6 +131,7 @@ const columns = computed(() => [
         label: 'AWB',
         name: 'awbCode',
         component: 'input',
+        width: '100px',
     },
     {
         align: 'left',
@@ -160,6 +168,7 @@ const columns = computed(() => [
             component: null,
         },
         format: (row, dashIfEmpty) => dashIfEmpty(row.warehouseOutName),
+        width: '65px',
     },
     {
         align: 'left',
@@ -175,12 +184,23 @@ const columns = computed(() => [
             component: null,
         },
         format: (row, dashIfEmpty) => dashIfEmpty(row.warehouseInName),
+        width: '65px',
     },
     {
         align: 'left',
+        labelAbbreviation: t('Type'),
         label: t('entry.list.tableVisibleColumns.entryTypeDescription'),
+        toolTip: t('entry.list.tableVisibleColumns.entryTypeDescription'),
         name: 'entryTypeCode',
-        cardVisible: true,
+        component: 'select',
+        attrs: {
+            url: 'entryTypes',
+            fields: ['code', 'description'],
+            optionValue: 'code',
+            optionLabel: 'description',
+        },
+        width: '65px',
+        format: (row, dashIfEmpty) => dashIfEmpty(row.entryTypeDescription),
     },
     {
         name: 'companyFk',
@@ -320,4 +340,5 @@ es:
     Search entries: Buscar entradas
     You can search by entry reference: Puedes buscar por referencia de la entrada
     Create entry: Crear entrada
+    Type: Tipo
 </i18n>
diff --git a/src/pages/Entry/EntryStockBought.vue b/src/pages/Entry/EntryStockBought.vue
index fa0bdc12e2f..4bd0fe6408d 100644
--- a/src/pages/Entry/EntryStockBought.vue
+++ b/src/pages/Entry/EntryStockBought.vue
@@ -34,18 +34,20 @@ const columns = computed(() => [
         label: t('entryStockBought.buyer'),
         isTitle: true,
         component: 'select',
+        isEditable: false,
         cardVisible: true,
         create: true,
         attrs: {
             url: 'Workers/activeWithInheritedRole',
-            fields: ['id', 'name'],
+            fields: ['id', 'name', 'nickname'],
             where: { role: 'buyer' },
             optionFilter: 'firstName',
-            optionLabel: 'name',
+            optionLabel: 'nickname',
             optionValue: 'id',
             useLike: false,
         },
         columnFilter: false,
+        width: '70px',
     },
     {
         align: 'center',
@@ -55,6 +57,7 @@ const columns = computed(() => [
         create: true,
         component: 'number',
         summation: true,
+        width: '50px',
     },
     {
         align: 'center',
@@ -78,6 +81,7 @@ const columns = computed(() => [
         actions: [
             {
                 title: t('entryStockBought.viewMoreDetails'),
+                name: 'searchBtn',
                 icon: 'search',
                 isPrimary: true,
                 action: (row) => {
@@ -91,6 +95,7 @@ const columns = computed(() => [
                 },
             },
         ],
+        'data-cy': 'table-actions',
     },
 ]);
 
@@ -158,7 +163,7 @@ function round(value) {
                 @on-fetch="
                     (data) => {
                         travel = data.find(
-                            (data) => data.warehouseIn?.code.toLowerCase() === 'vnh'
+                            (data) => data.warehouseIn?.code.toLowerCase() === 'vnh',
                         );
                     }
                 "
@@ -179,6 +184,7 @@ function round(value) {
                         @click="openDialog()"
                         :title="t('entryStockBought.editTravel')"
                         color="primary"
+                        data-cy="edit-travel"
                     />
                 </div>
             </VnRow>
@@ -239,10 +245,11 @@ function round(value) {
                 table-height="80vh"
                 auto-load
                 :column-search="false"
+                :without-header="true"
             >
                 <template #column-workerFk="{ row }">
                     <span class="link" @click.stop>
-                        {{ row?.worker?.user?.name }}
+                        {{ row?.worker?.user?.nickname }}
                         <WorkerDescriptorProxy :id="row?.workerFk" />
                     </span>
                 </template>
@@ -279,10 +286,11 @@ function round(value) {
     justify-content: center;
 }
 .column {
+    min-width: 40%;
+    margin-top: 5%;
     display: flex;
     flex-direction: column;
     align-items: center;
-    min-width: 35%;
 }
 .text-negative {
     color: $negative !important;
diff --git a/src/pages/Entry/EntryStockBoughtDetail.vue b/src/pages/Entry/EntryStockBoughtDetail.vue
index 81217182575..1a37994d908 100644
--- a/src/pages/Entry/EntryStockBoughtDetail.vue
+++ b/src/pages/Entry/EntryStockBoughtDetail.vue
@@ -21,7 +21,7 @@ const $props = defineProps({
 const customUrl = `StockBoughts/getStockBoughtDetail?workerFk=${$props.workerFk}&dated=${$props.dated}`;
 const columns = [
     {
-        align: 'left',
+        align: 'right',
         label: t('Entry'),
         name: 'entryFk',
         isTitle: true,
@@ -29,7 +29,7 @@ const columns = [
         columnFilter: false,
     },
     {
-        align: 'left',
+        align: 'right',
         name: 'itemFk',
         label: t('Item'),
         columnFilter: false,
@@ -44,21 +44,21 @@ const columns = [
         cardVisible: true,
     },
     {
-        align: 'left',
+        align: 'right',
         name: 'volume',
         label: t('Volume'),
         columnFilter: false,
         cardVisible: true,
     },
     {
-        align: 'left',
+        align: 'right',
         label: t('Packaging'),
         name: 'packagingFk',
         columnFilter: false,
         cardVisible: true,
     },
     {
-        align: 'left',
+        align: 'right',
         label: 'Packing',
         name: 'packing',
         columnFilter: false,
@@ -73,12 +73,14 @@ const columns = [
                 ref="tableRef"
                 data-key="StockBoughtsDetail"
                 :url="customUrl"
-                order="itemName DESC"
+                order="volume DESC"
                 :columns="columns"
                 :right-search="false"
                 :disable-infinite-scroll="true"
                 :disable-option="{ card: true }"
                 :limit="0"
+                :without-header="true"
+                :with-filters="false"
                 auto-load
             >
                 <template #column-entryFk="{ row }">
@@ -99,16 +101,14 @@ const columns = [
 </template>
 <style lang="css" scoped>
 .container {
-    max-width: 50vw;
+    max-width: 100%;
+    width: 50%;
     overflow: auto;
     justify-content: center;
     align-items: center;
     margin: auto;
     background-color: var(--vn-section-color);
-    padding: 4px;
-}
-.container > div > div > .q-table__top.relative-position.row.items-center {
-    background-color: red !important;
+    padding: 2%;
 }
 </style>
 <i18n>
diff --git a/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue b/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue
index 1cad40e0b3f..20cc1cc719b 100644
--- a/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue
+++ b/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue
@@ -7,7 +7,6 @@ import { toDate } from 'src/filters';
 import { useArrayData } from 'src/composables/useArrayData';
 import { getTotal } from 'src/composables/getTotal';
 import CrudModel from 'src/components/CrudModel.vue';
-import FetchData from 'src/components/FetchData.vue';
 import VnSelect from 'src/components/common/VnSelect.vue';
 import useNotify from 'src/composables/useNotify.js';
 import VnInputDate from 'src/components/common/VnInputDate.vue';
@@ -22,7 +21,6 @@ const invoiceIn = computed(() => arrayData.store.data);
 const currency = computed(() => invoiceIn.value?.currency?.code);
 
 const rowsSelected = ref([]);
-const banks = ref([]);
 const invoiceInFormRef = ref();
 const invoiceId = +route.params.id;
 const filter = { where: { invoiceInFk: invoiceId } };
@@ -41,10 +39,9 @@ const columns = computed(() => [
         name: 'bank',
         label: t('Bank'),
         field: (row) => row.bankFk,
-        options: banks.value,
         model: 'bankFk',
-        optionValue: 'id',
         optionLabel: 'bank',
+        url: 'Accountings',
         sortable: true,
         tabIndex: 2,
         align: 'left',
@@ -82,12 +79,6 @@ onBeforeMount(async () => {
 });
 </script>
 <template>
-    <FetchData
-        url="Accountings"
-        auto-load
-        limit="30"
-        @on-fetch="(data) => (banks = data)"
-    />
     <CrudModel
         v-if="invoiceIn"
         ref="invoiceInFormRef"
@@ -117,9 +108,9 @@ onBeforeMount(async () => {
                     <QTd>
                         <VnSelect
                             v-model="row[col.model]"
-                            :options="col.options"
-                            :option-value="col.optionValue"
+                            :url="col.url"
                             :option-label="col.optionLabel"
+                            :option-value="col.optionValue"
                         >
                             <template #option="scope">
                                 <QItem v-bind="scope.itemProps">
@@ -193,8 +184,7 @@ onBeforeMount(async () => {
                                         :label="t('Bank')"
                                         class="full-width"
                                         v-model="props.row['bankFk']"
-                                        :options="banks"
-                                        option-value="id"
+                                        url="Accountings"
                                         option-label="bank"
                                     >
                                         <template #option="scope">
diff --git a/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue b/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue
index eb72563e13b..8be92813426 100644
--- a/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue
+++ b/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue
@@ -103,7 +103,7 @@ const refundInvoice = async (withWarehouse) => {
         t('refundInvoiceSuccessMessage', {
             refundTicket: data[0].id,
         }),
-        'positive'
+        'positive',
     );
 };
 
@@ -124,6 +124,13 @@ const showRefundInvoiceForm = () => {
         },
     });
 };
+
+const showExportationLetter = () => {
+    openReport(`InvoiceOuts/${$props.invoiceOutData.ref}/exportation-pdf`, {
+        recipientId: $props.invoiceOutData.client.id,
+        refFk: $props.invoiceOutData.ref,
+    });
+};
 </script>
 
 <template>
@@ -156,10 +163,14 @@ const showRefundInvoiceForm = () => {
         <QMenu anchor="top end" self="top start">
             <QList>
                 <QItem v-ripple clickable @click="showSendInvoiceDialog('pdf')">
-                    <QItemSection>{{ t('Send PDF') }}</QItemSection>
+                    <QItemSection data-cy="InvoiceOutDescriptorMenuSendPdfOption">
+                        {{ t('Send PDF') }}
+                    </QItemSection>
                 </QItem>
                 <QItem v-ripple clickable @click="showSendInvoiceDialog('csv')">
-                    <QItemSection>{{ t('Send CSV') }}</QItemSection>
+                    <QItemSection data-cy="InvoiceOutDescriptorMenuSendCsvOption">
+                        {{ t('Send CSV') }}
+                    </QItemSection>
                 </QItem>
             </QList>
         </QMenu>
@@ -172,7 +183,7 @@ const showRefundInvoiceForm = () => {
                 t('Confirm deletion'),
                 t('Are you sure you want to delete this invoice?'),
                 deleteInvoice,
-                redirectToInvoiceOutList
+                redirectToInvoiceOutList,
             )
         "
     >
@@ -185,7 +196,7 @@ const showRefundInvoiceForm = () => {
             openConfirmationModal(
                 '',
                 t('Are you sure you want to book this invoice?'),
-                bookInvoice
+                bookInvoice,
             )
         "
     >
@@ -198,7 +209,7 @@ const showRefundInvoiceForm = () => {
             openConfirmationModal(
                 t('Generate PDF invoice document'),
                 t('Are you sure you want to generate/regenerate the PDF invoice?'),
-                generateInvoicePdf
+                generateInvoicePdf,
             )
         "
     >
@@ -226,6 +237,14 @@ const showRefundInvoiceForm = () => {
             {{ t('Create a single ticket with all the content of the current invoice') }}
         </QTooltip>
     </QItem>
+    <QItem
+        v-if="$props.invoiceOutData.serial === 'E'"
+        v-ripple
+        clickable
+        @click="showExportationLetter()"
+    >
+        <QItemSection>{{ t('Show CITES letter') }}</QItemSection>
+    </QItem>
 </template>
 
 <i18n>
@@ -255,7 +274,7 @@ es:
     Create a single ticket with all the content of the current invoice: Crear un ticket รบnico con todo el contenido de la factura actual
     refundInvoiceSuccessMessage: Se ha creado el siguiente ticket de abono {refundTicket}
     The email can't be empty: El email no puede estar vacรญo
-
+    Show CITES letter: Ver carta CITES
 en:
     refundInvoiceSuccessMessage: The following refund ticket have been created {refundTicket}
 </i18n>
diff --git a/src/pages/InvoiceOut/Card/InvoiceOutSummary.vue b/src/pages/InvoiceOut/Card/InvoiceOutSummary.vue
index 3ceb447dd23..161f2ab4589 100644
--- a/src/pages/InvoiceOut/Card/InvoiceOutSummary.vue
+++ b/src/pages/InvoiceOut/Card/InvoiceOutSummary.vue
@@ -125,7 +125,7 @@ const ticketsColumns = ref([
                     :value="toDate(invoiceOut.issued)"
                 />
                 <VnLv
-                    :label="t('invoiceOut.summary.dued')"
+                    :label="t('invoiceOut.summary.expirationDate')"
                     :value="toDate(invoiceOut.dued)"
                 />
                 <VnLv :label="t('globals.created')" :value="toDate(invoiceOut.created)" />
diff --git a/src/pages/InvoiceOut/InvoiceOutFilter.vue b/src/pages/InvoiceOut/InvoiceOutFilter.vue
index cdc9f037ab9..648b8e4e6b9 100644
--- a/src/pages/InvoiceOut/InvoiceOutFilter.vue
+++ b/src/pages/InvoiceOut/InvoiceOutFilter.vue
@@ -22,7 +22,7 @@ const states = ref();
     <VnFilterPanel :data-key="props.dataKey" :search-button="true">
         <template #tags="{ tag, formatFn }">
             <div class="q-gutter-x-xs">
-                <strong>{{ t(`params.${tag.label}`) }}: </strong>
+                <strong>{{ t(`invoiceOut.params.${tag.label}`) }}: </strong>
                 <span>{{ formatFn(tag.value) }}</span>
             </div>
         </template>
@@ -84,15 +84,6 @@ const states = ref();
                     />
                 </QItemSection>
             </QItem>
-            <QItem>
-                <QItemSection>
-                    <VnInputDate
-                        v-model="params.issued"
-                        :label="t('Issued')"
-                        is-outlined
-                    />
-                </QItemSection>
-            </QItem>
             <QItem>
                 <QItemSection>
                     <VnInputDate
@@ -110,37 +101,3 @@ const states = ref();
         </template>
     </VnFilterPanel>
 </template>
-
-<i18n>
-en:
-    params:
-        search: Contains
-        clientFk: Customer
-        fi: FI
-        amount: Amount
-        min: Min
-        max: Max
-        hasPdf: Has PDF
-        issued: Issued
-        created: Created
-        dued: Dued
-es:
-    params:
-        search: Contiene
-        clientFk: Cliente
-        fi: CIF
-        amount: Importe
-        min: Min
-        max: Max
-        hasPdf: Tiene PDF
-        issued: Emitida
-        created: Creada
-        dued: Vencida
-    Customer ID: ID cliente
-    FI: CIF
-    Amount: Importe
-    Has PDF: Tiene PDF
-    Issued: Fecha emisiรณn
-    Created: Fecha creaciรณn
-    Dued: Fecha vencimiento
-</i18n>
diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue
index c7d7ba9f45a..873ab030f97 100644
--- a/src/pages/InvoiceOut/InvoiceOutList.vue
+++ b/src/pages/InvoiceOut/InvoiceOutList.vue
@@ -71,14 +71,6 @@ const columns = computed(() => [
             inWhere: true,
         },
     },
-    {
-        align: 'left',
-        name: 'issued',
-        label: t('invoiceOut.summary.issued'),
-        component: 'date',
-        format: (row) => toDate(row.issued),
-        columnField: { component: null },
-    },
     {
         align: 'left',
         name: 'clientFk',
diff --git a/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue b/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue
index 135eb9aca46..b062678a097 100644
--- a/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue
+++ b/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue
@@ -10,6 +10,8 @@ import CustomerDescriptorProxy from '../Customer/Card/CustomerDescriptorProxy.vu
 import TicketDescriptorProxy from '../Ticket/Card/TicketDescriptorProxy.vue';
 import WorkerDescriptorProxy from '../Worker/Card/WorkerDescriptorProxy.vue';
 import VnInputDate from 'components/common/VnInputDate.vue';
+import InvoiceOutNegativeBasesFilter from './InvoiceOutNegativeBasesFilter.vue';
+import RightMenu from 'src/components/common/RightMenu.vue';
 
 const { t } = useI18n();
 const tableRef = ref();
@@ -97,16 +99,19 @@ const columns = computed(() => [
         align: 'left',
         name: 'isActive',
         label: t('invoiceOut.negativeBases.active'),
+        component: 'checkbox',
     },
     {
         align: 'left',
         name: 'hasToInvoice',
         label: t('invoiceOut.negativeBases.hasToInvoice'),
+        component: 'checkbox',
     },
     {
         align: 'left',
-        name: 'hasVerifiedData',
+        name: 'isTaxDataChecked',
         label: t('invoiceOut.negativeBases.verifiedData'),
+        component: 'checkbox',
     },
     {
         align: 'left',
@@ -142,7 +147,7 @@ const downloadCSV = async () => {
     await invoiceOutGlobalStore.getNegativeBasesCsv(
         userParams.from,
         userParams.to,
-        filterParams
+        filterParams,
     );
 };
 </script>
@@ -154,6 +159,11 @@ const downloadCSV = async () => {
             </QBtn>
         </template>
     </VnSubToolbar>
+    <RightMenu>
+        <template #right-panel>
+            <InvoiceOutNegativeBasesFilter data-key="negativeFilter" />
+        </template>
+    </RightMenu>
     <VnTable
         ref="tableRef"
         data-key="negativeFilter"
@@ -174,6 +184,7 @@ const downloadCSV = async () => {
         auto-load
         :is-editable="false"
         :use-model="true"
+        :right-search="false"
     >
         <template #column-clientId="{ row }">
             <span class="link" @click.stop>
diff --git a/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue b/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue
index 6ceec61e4b0..cd9836bb781 100644
--- a/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue
+++ b/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue
@@ -2,9 +2,10 @@
 import { useI18n } from 'vue-i18n';
 
 import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
-import VnInput from 'src/components/common/VnInput.vue';
 import VnInputDate from 'components/common/VnInputDate.vue';
 import VnInputNumber from 'src/components/common/VnInputNumber.vue';
+import VnSelect from 'src/components/common/VnSelect.vue';
+import VnSelectWorker from 'src/components/common/VnSelectWorker.vue';
 
 const { t } = useI18n();
 const props = defineProps({
@@ -24,11 +25,11 @@ const props = defineProps({
     >
         <template #tags="{ tag, formatFn }">
             <div class="q-gutter-x-xs">
-                <strong>{{ t(`params.${tag.label}`) }}: </strong>
+                <strong>{{ t(`invoiceOut.params.${tag.label}`) }}: </strong>
                 <span>{{ formatFn(tag.value) }}</span>
             </div>
         </template>
-        <template #body="{ params }">
+        <template #body="{ params, searchFn }">
             <QItem>
                 <QItemSection>
                     <VnInputDate
@@ -49,38 +50,70 @@ const props = defineProps({
             </QItem>
             <QItem>
                 <QItemSection>
-                    <VnInput
-                        v-model="params.company"
+                    <VnSelect
+                        url="Companies"
                         :label="t('globals.company')"
-                        is-outlined
-                    />
+                        v-model="params.company"
+                        option-label="code"
+                        option-value="code"
+                        dense
+                        outlined
+                        rounded
+                        @update:model-value="searchFn()"
+                    >
+                        <template #option="scope">
+                            <QItem v-bind="scope.itemProps">
+                                <QItemSection>
+                                    <QItemLabel>
+                                        {{ scope.opt?.code }}
+                                    </QItemLabel>
+                                    <QItemLabel caption>
+                                        {{ `#${scope.opt?.id}` }}
+                                    </QItemLabel>
+                                </QItemSection>
+                            </QItem>
+                        </template>
+                    </VnSelect>
                 </QItemSection>
             </QItem>
             <QItem>
                 <QItemSection>
-                    <VnInput
+                    <VnSelect
+                        url="Countries"
+                        :label="t('globals.params.countryFk')"
                         v-model="params.country"
-                        :label="t('globals.country')"
-                        is-outlined
-                    />
-                </QItemSection>
-            </QItem>
-
-            <QItem>
-                <QItemSection>
-                    <VnInput
-                        v-model="params.clientId"
-                        :label="t('invoiceOut.negativeBases.clientId')"
-                        is-outlined
-                    />
+                        option-label="name"
+                        option-value="name"
+                        outlined
+                        dense
+                        rounded
+                        @update:model-value="searchFn()"
+                    >
+                        <template #option="scope">
+                            <QItem v-bind="scope.itemProps">
+                                <QItemSection>
+                                    <QItemLabel>
+                                        {{ scope.opt?.name }}
+                                    </QItemLabel>
+                                    <QItemLabel caption>
+                                        {{ `#${scope.opt?.id}` }}
+                                    </QItemLabel>
+                                </QItemSection>
+                            </QItem>
+                        </template>
+                    </VnSelect>
                 </QItemSection>
             </QItem>
             <QItem>
                 <QItemSection>
-                    <VnInput
-                        v-model="params.clientSocialName"
+                    <VnSelect
+                        url="Clients"
                         :label="t('globals.client')"
-                        is-outlined
+                        v-model="params.clientId"
+                        outlined
+                        dense
+                        rounded
+                        @update:model-value="searchFn()"
                     />
                 </QItemSection>
             </QItem>
@@ -90,15 +123,18 @@ const props = defineProps({
                         v-model="params.amount"
                         :label="t('globals.amount')"
                         is-outlined
+                        :positive="false"
                     />
                 </QItemSection>
             </QItem>
             <QItem>
                 <QItemSection>
-                    <VnInput
-                        v-model="params.comercialName"
+                    <VnSelectWorker
                         :label="t('invoiceOut.negativeBases.comercial')"
+                        v-model="params.workerName"
+                        option-value="name"
                         is-outlined
+                        @update:model-value="searchFn()"
                     />
                 </QItemSection>
             </QItem>
diff --git a/src/pages/InvoiceOut/locale/en.yml b/src/pages/InvoiceOut/locale/en.yml
index cb0dfdca7e0..f1baef432c0 100644
--- a/src/pages/InvoiceOut/locale/en.yml
+++ b/src/pages/InvoiceOut/locale/en.yml
@@ -4,7 +4,7 @@ invoiceOut:
     params:
         company: Company
         country: Country
-        clientId: Client ID
+        clientId: Client
         clientSocialName: Client
         taxableBase: Base
         ticketFk: Ticket
@@ -12,6 +12,19 @@ invoiceOut:
         hasToInvoice: Has to invoice
         hasVerifiedData: Verified data
         workerName: Worker
+        isTaxDataChecked: Verified data
+        amount: Amount
+        clientFk: Client
+        companyFk: Company
+        created: Created
+        dued: Dued
+        customsAgentFk: Custom Agent
+        ref: Reference
+        fi: FI
+        min: Min
+        max: Max
+        hasPdf: Has PDF
+        search: Contains
     card:
         issued: Issued
         customerCard: Customer card
@@ -19,6 +32,7 @@ invoiceOut:
     summary:
         issued: Issued
         dued: Due
+        expirationDate: Expiration date
         booked: Booked
         taxBreakdown: Tax breakdown
         taxableBase: Taxable base
@@ -52,7 +66,7 @@ invoiceOut:
         active: Active
         hasToInvoice: Has to Invoice
         verifiedData: Verified Data
-        comercial: Commercial
+        comercial: Sales person
         errors:
             downloadCsvFailed: CSV download failed
 invoiceOutModule:
diff --git a/src/pages/InvoiceOut/locale/es.yml b/src/pages/InvoiceOut/locale/es.yml
index a35c33c4e3a..afca278716a 100644
--- a/src/pages/InvoiceOut/locale/es.yml
+++ b/src/pages/InvoiceOut/locale/es.yml
@@ -4,7 +4,7 @@ invoiceOut:
     params:
         company: Empresa
         country: Paรญs
-        clientId: ID del cliente
+        clientId: Cliente
         clientSocialName: Cliente
         taxableBase: Base
         ticketFk: Ticket
@@ -12,6 +12,19 @@ invoiceOut:
         hasToInvoice: Debe facturar
         hasVerifiedData: Datos verificados
         workerName: Comercial
+        isTaxDataChecked: Datos comprobados
+        amount: Importe
+        clientFk: Cliente
+        companyFk: Empresa
+        created: Creada
+        dued: Vencida
+        customsAgentFk: Agente aduanas
+        ref: Referencia
+        fi: CIF
+        min: Min
+        max: Max
+        hasPdf: Tiene PDF
+        search: Contiene
     card:
         issued: Fecha emisiรณn
         customerCard: Ficha del cliente
@@ -19,6 +32,7 @@ invoiceOut:
     summary:
         issued: Fecha
         dued: Fecha lรญmite
+        expirationDate: Fecha vencimiento
         booked: Contabilizada
         taxBreakdown: Desglose impositivo
         taxableBase: Base imp.
diff --git a/src/pages/Item/ItemFixedPriceFilter.vue b/src/pages/Item/ItemFixedPriceFilter.vue
index 531c7e09e94..8d92e245dbb 100644
--- a/src/pages/Item/ItemFixedPriceFilter.vue
+++ b/src/pages/Item/ItemFixedPriceFilter.vue
@@ -1,8 +1,6 @@
 <script setup>
-import { ref } from 'vue';
 import { useI18n } from 'vue-i18n';
 
-import FetchData from 'components/FetchData.vue';
 import VnInputDate from 'src/components/common/VnInputDate.vue';
 import VnSelect from 'components/common/VnSelect.vue';
 import ItemsFilterPanel from 'src/components/ItemsFilterPanel.vue';
@@ -16,17 +14,9 @@ const props = defineProps({
     },
 });
 
-const itemTypeWorkersOptions = ref([]);
 </script>
 
 <template>
-    <FetchData
-        url="TicketRequests/getItemTypeWorker"
-        limit="30"
-        auto-load
-        :filter="{ fields: ['id', 'nickname'], order: 'nickname ASC', limit: 30 }"
-        @on-fetch="(data) => (itemTypeWorkersOptions = data)"
-    />
     <ItemsFilterPanel :data-key="props.dataKey" :custom-tags="['tags']">
         <template #body="{ params, searchFn }">
             <QItem class="q-my-md">
@@ -34,14 +24,15 @@ const itemTypeWorkersOptions = ref([]);
                     <VnSelect
                         :label="t('params.buyerFk')"
                         v-model="params.buyerFk"
-                        :options="itemTypeWorkersOptions"
-                        option-value="id"
+                        url="TicketRequests/getItemTypeWorker"
+                        :fields="['id', 'nickname']"
                         option-label="nickname"
                         dense
                         outlined
                         rounded
                         use-input
                         @update:model-value="searchFn()"
+                        sort-by="nickname ASC"
                     />
                 </QItemSection>
             </QItem>
@@ -50,11 +41,10 @@ const itemTypeWorkersOptions = ref([]);
                     <VnSelect
                         url="Warehouses"
                         auto-load
-                        :filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
+                        :fields="['id', 'name']"
+                        sort-by="name ASC"
                         :label="t('params.warehouseFk')"
                         v-model="params.warehouseFk"
-                        option-label="name"
-                        option-value="id"
                         dense
                         outlined
                         rounded
diff --git a/src/pages/Item/ItemRequestFilter.vue b/src/pages/Item/ItemRequestFilter.vue
index af48f7f5c6b..c2a63ddd9b3 100644
--- a/src/pages/Item/ItemRequestFilter.vue
+++ b/src/pages/Item/ItemRequestFilter.vue
@@ -8,6 +8,7 @@ import VnInput from 'src/components/common/VnInput.vue';
 import FetchData from 'components/FetchData.vue';
 import { useArrayData } from 'src/composables/useArrayData';
 import VnSelectWorker from 'src/components/common/VnSelectWorker.vue';
+import VnInputDate from 'src/components/common/VnInputDate.vue';
 
 const { t } = useI18n();
 const props = defineProps({
@@ -52,7 +53,7 @@ onMounted(async () => {
                 name: key,
                 value,
                 selectedField: { name: key, label: t(`params.${key}`) },
-            })
+            }),
         );
     }
     exprBuilder('state', arrayData.store?.userParams?.state);
@@ -157,6 +158,32 @@ onMounted(async () => {
                     />
                 </QItemSection>
             </QItem>
+            <QItem>
+                <QItemSection>
+                    <VnInputDate
+                        v-model="params.from"
+                        :label="t('params.from')"
+                        is-outlined
+                    />
+                </QItemSection>
+                <QItemSection>
+                    <VnInputDate
+                        v-model="params.to"
+                        :label="t('params.to')"
+                        is-outlined
+                    />
+                </QItemSection>
+            </QItem>
+            <QItem>
+                <QItemSection>
+                    <VnInput
+                        :label="t('params.daysOnward')"
+                        v-model="params.daysOnward"
+                        lazy-rules
+                        is-outlined
+                    />
+                </QItemSection>
+            </QItem>
             <QItem>
                 <QItemSection>
                     <VnSelect
@@ -175,11 +202,10 @@ onMounted(async () => {
             </QItem>
             <QItem>
                 <QItemSection>
-                    <VnInput
-                        :label="t('params.daysOnward')"
-                        v-model="params.daysOnward"
-                        lazy-rules
-                        is-outlined
+                    <QCheckbox
+                        :label="t('params.mine')"
+                        v-model="params.mine"
+                        :toggle-indeterminate="false"
                     />
                 </QItemSection>
             </QItem>
diff --git a/src/pages/Monitor/Ticket/MonitorTickets.vue b/src/pages/Monitor/Ticket/MonitorTickets.vue
index 3b5dccb56fd..2ec862df0c1 100644
--- a/src/pages/Monitor/Ticket/MonitorTickets.vue
+++ b/src/pages/Monitor/Ticket/MonitorTickets.vue
@@ -61,6 +61,7 @@ function exprBuilder(param, value) {
         case 'nickname':
             return { [`t.nickname`]: { like: `%${value}%` } };
         case 'zoneFk':
+            return { 't.zoneFk': value };
         case 'department':
             return { 'd.name': value };
         case 'totalWithVat':
diff --git a/src/pages/Route/Card/RouteAutonomousFilter.vue b/src/pages/Route/Card/RouteAutonomousFilter.vue
index 37745594c43..3be409ec91b 100644
--- a/src/pages/Route/Card/RouteAutonomousFilter.vue
+++ b/src/pages/Route/Card/RouteAutonomousFilter.vue
@@ -46,7 +46,6 @@ const exprBuilder = (param, value) => {
         url="AgencyModes"
         :filter="{ fields: ['id', 'name'] }"
         sort-by="name ASC"
-        limit="30"
         @on-fetch="(data) => (agencyList = data)"
         auto-load
     />
@@ -54,7 +53,6 @@ const exprBuilder = (param, value) => {
         url="Agencies"
         :filter="{ fields: ['id', 'name'] }"
         sort-by="name ASC"
-        limit="30"
         @on-fetch="(data) => (agencyAgreementList = data)"
         auto-load
     />
@@ -120,7 +118,11 @@ const exprBuilder = (param, value) => {
                         <VnSelectSupplier
                             :label="t('Autonomous')"
                             v-model="params.supplierFk"
-                            hide-selected
+                            url="Suppliers"
+                            :fields="['name']"
+                            sort-by="name ASC"
+                            option-value="name"
+                            option-label="name"
                             dense
                             outlined
                             rounded
diff --git a/src/pages/Route/Card/RouteDescriptor.vue b/src/pages/Route/Card/RouteDescriptor.vue
index 829cce4444f..503cd1941f4 100644
--- a/src/pages/Route/Card/RouteDescriptor.vue
+++ b/src/pages/Route/Card/RouteDescriptor.vue
@@ -1,11 +1,13 @@
 <script setup>
-import { computed } from 'vue';
+import { ref, computed, onMounted } from 'vue';
 import { useRoute } from 'vue-router';
 import CardDescriptor from 'components/ui/CardDescriptor.vue';
 import VnLv from 'components/ui/VnLv.vue';
 import { dashIfEmpty, toDate } from 'src/filters';
 import RouteDescriptorMenu from 'pages/Route/Card/RouteDescriptorMenu.vue';
 import filter from './RouteFilter.js';
+import useCardDescription from 'src/composables/useCardDescription';
+import axios from 'axios';
 
 const $props = defineProps({
     id: {
@@ -16,10 +18,29 @@ const $props = defineProps({
 });
 
 const route = useRoute();
-
+const zone = ref();
+const zoneId = ref();
 const entityId = computed(() => {
     return $props.id || route.params.id;
 });
+const getZone = async () => {
+    const filter = {
+        where: { routeFk: $props.id ? $props.id : route.params.id },
+    };
+    const { data } = await axios.get('Tickets/findOne', {
+        params: {
+            filter: JSON.stringify(filter),
+        },
+    });
+    zoneId.value = data.zoneFk;
+    const { data: zoneData } = await axios.get(`Zones/${zoneId.value}`);
+    zone.value = zoneData.name;
+};
+const data = ref(useCardDescription());
+const setData = (entity) => (data.value = useCardDescription(entity.code, entity.id));
+onMounted(async () => {
+    getZone();
+});
 </script>
 <template>
     <CardDescriptor
@@ -30,9 +51,9 @@ const entityId = computed(() => {
         width="lg-width"
     >
         <template #body="{ entity }">
-            <VnLv :label="$t('Date')" :value="toDate(entity?.created)" />
+            <VnLv :label="$t('Date')" :value="toDate(entity?.dated)" />
             <VnLv :label="$t('Agency')" :value="entity?.agencyMode?.name" />
-            <VnLv :label="$t('Zone')" :value="entity?.zone?.name" />
+            <VnLv :label="$t('Zone')" :value="zone" />
             <VnLv
                 :label="$t('Volume')"
                 :value="`${dashIfEmpty(entity?.m3)} / ${dashIfEmpty(
diff --git a/src/pages/Route/Card/RouteFilter.js b/src/pages/Route/Card/RouteFilter.js
index 16d200c99c3..90ee71bf77c 100644
--- a/src/pages/Route/Card/RouteFilter.js
+++ b/src/pages/Route/Card/RouteFilter.js
@@ -14,7 +14,6 @@ export default {
         'started',
         'finished',
         'cost',
-        'zoneFk',
         'isOk',
     ],
     include: [
@@ -23,7 +22,6 @@ export default {
             relation: 'vehicle',
             scope: { fields: ['id', 'm3'] },
         },
-        { relation: 'zone', scope: { fields: ['id', 'name'] } },
         {
             relation: 'worker',
             scope: {
diff --git a/src/pages/Route/Card/RouteForm.vue b/src/pages/Route/Card/RouteForm.vue
index 30ac54896ef..667204b15ac 100644
--- a/src/pages/Route/Card/RouteForm.vue
+++ b/src/pages/Route/Card/RouteForm.vue
@@ -28,7 +28,6 @@ const defaultInitialData = {
     isOk: false,
 };
 const maxDistance = ref();
-
 const onSave = (data, response) => {
     if (isNew) {
         axios.post(`Routes/${response?.id}/updateWorkCenter`);
diff --git a/src/pages/Route/Roadmap/RoadmapAddStopForm.vue b/src/pages/Route/Roadmap/RoadmapAddStopForm.vue
index 6cc21fd4d09..dd8ad94cb02 100644
--- a/src/pages/Route/Roadmap/RoadmapAddStopForm.vue
+++ b/src/pages/Route/Roadmap/RoadmapAddStopForm.vue
@@ -48,7 +48,6 @@ const onFetch = (data) => {
                 },
             ],
         }"
-        limit="30"
         @on-fetch="onFetch"
     />
     <div :class="[isDialog ? 'column' : 'form-gap', 'full-width flex']">
diff --git a/src/pages/Route/Roadmap/RoadmapBasicData.vue b/src/pages/Route/Roadmap/RoadmapBasicData.vue
index 5f8ba3bf544..a9e6059c337 100644
--- a/src/pages/Route/Roadmap/RoadmapBasicData.vue
+++ b/src/pages/Route/Roadmap/RoadmapBasicData.vue
@@ -18,6 +18,7 @@ const onSave = (data, response) => {
 <template>
     <FormModel
         :update-url="`Roadmaps/${$route.params?.id}`"
+        :url="`Roadmaps/${$route.params?.id}`"
         observe-form-changes
         model="Roadmap"
         auto-load
diff --git a/src/pages/Route/Roadmap/RoadmapFilter.vue b/src/pages/Route/Roadmap/RoadmapFilter.vue
index 0d51a88bb2b..982f1efba54 100644
--- a/src/pages/Route/Roadmap/RoadmapFilter.vue
+++ b/src/pages/Route/Roadmap/RoadmapFilter.vue
@@ -1,7 +1,5 @@
 <script setup>
-import { ref } from 'vue';
 import { useI18n } from 'vue-i18n';
-import FetchData from 'components/FetchData.vue';
 import VnFilterPanel from 'components/ui/VnFilterPanel.vue';
 import VnInputDate from 'components/common/VnInputDate.vue';
 import VnInput from 'components/common/VnInput.vue';
@@ -65,6 +63,7 @@ const emit = defineEmits(['search']);
                 <QItemSection>
                     <VnSelectSupplier
                         :label="t('Carrier')"
+                        :fields="['id', 'nickname']"
                         v-model="params.supplierFk"
                         dense
                         outlined
diff --git a/src/pages/Route/RouteExtendedList.vue b/src/pages/Route/RouteExtendedList.vue
index 46bc1a69080..a8d8477115e 100644
--- a/src/pages/Route/RouteExtendedList.vue
+++ b/src/pages/Route/RouteExtendedList.vue
@@ -280,7 +280,7 @@ const openTicketsDialog = (id) => {
             </QCardSection>
             <QCardSection class="q-pt-none">
                 <VnInputDate
-                    :label="t('route.Stating date')"
+                    :label="t('route.Starting date')"
                     v-model="startingDate"
                     autofocus
                 />
@@ -335,6 +335,7 @@ const openTicketsDialog = (id) => {
                 <QBtn
                     icon="vn:clone"
                     color="primary"
+                    flat
                     class="q-mr-sm"
                     :disable="!selectedRows?.length"
                     @click="confirmationDialog = true"
@@ -344,6 +345,7 @@ const openTicketsDialog = (id) => {
                 <QBtn
                     icon="cloud_download"
                     color="primary"
+                    flat
                     class="q-mr-sm"
                     :disable="!selectedRows?.length"
                     @click="showRouteReport"
@@ -353,6 +355,7 @@ const openTicketsDialog = (id) => {
                 <QBtn
                     icon="check"
                     color="primary"
+                    flat
                     class="q-mr-sm"
                     :disable="!selectedRows?.length"
                     @click="markAsServed()"
diff --git a/src/pages/Shelving/Parking/Card/ParkingBasicData.vue b/src/pages/Shelving/Parking/Card/ParkingBasicData.vue
index 5c3657691a5..3de35800218 100644
--- a/src/pages/Shelving/Parking/Card/ParkingBasicData.vue
+++ b/src/pages/Shelving/Parking/Card/ParkingBasicData.vue
@@ -8,6 +8,11 @@ import VnSelect from 'src/components/common/VnSelect.vue';
 
 const sectors = ref([]);
 const sectorFilter = { fields: ['id', 'description'] };
+
+const filter = {
+    fields: ['sectorFk', 'code', 'pickingOrder'],
+    include: [{ relation: 'sector', scope: sectorFilter }],
+};
 </script>
 <template>
     <FetchData
diff --git a/src/pages/Shelving/Parking/locale/en.yml b/src/pages/Shelving/Parking/locale/en.yml
index 72caba4082b..2076f38b439 100644
--- a/src/pages/Shelving/Parking/locale/en.yml
+++ b/src/pages/Shelving/Parking/locale/en.yml
@@ -1,7 +1,5 @@
 parking:
     pickingOrder: Picking order
     sector: Sector
-    row: Row
-    column: Column
     search: Search parking
     searchInfo: You can search by parking code
\ No newline at end of file
diff --git a/src/pages/Shelving/Parking/locale/es.yml b/src/pages/Shelving/Parking/locale/es.yml
index ab23182a138..17fe3af537d 100644
--- a/src/pages/Shelving/Parking/locale/es.yml
+++ b/src/pages/Shelving/Parking/locale/es.yml
@@ -1,7 +1,5 @@
 parking:
     pickingOrder: Orden de recogida
-    row: Fila
     sector: Sector
-    column: Columna
     search: Buscar parking
     searchInfo: Puedes buscar por cรณdigo de parking
\ No newline at end of file
diff --git a/src/pages/Ticket/Card/TicketEditMana.vue b/src/pages/Ticket/Card/TicketEditMana.vue
index 693875712d1..14eec9db93d 100644
--- a/src/pages/Ticket/Card/TicketEditMana.vue
+++ b/src/pages/Ticket/Card/TicketEditMana.vue
@@ -21,6 +21,10 @@ const $props = defineProps({
         type: String,
         default: 'mana',
     },
+    sale: {
+        type: Object,
+        default: null,
+    },
 });
 
 const emit = defineEmits(['save', 'cancel']);
@@ -29,8 +33,8 @@ const { t } = useI18n();
 const QPopupProxyRef = ref(null);
 const manaCode = ref($props.manaCode);
 
-const save = () => {
-    emit('save');
+const save = (sale = $props.sale) => {
+    emit('save', sale);
     QPopupProxyRef.value.hide();
 };
 
@@ -38,16 +42,20 @@ const cancel = () => {
     emit('cancel');
     QPopupProxyRef.value.hide();
 };
+defineExpose({ save });
 </script>
 
 <template>
-    <QPopupProxy ref="QPopupProxyRef">
+    <QPopupProxy ref="QPopupProxyRef" data-cy="ticketEditManaProxy">
         <div class="container">
             <QSpinner v-if="!mana" color="primary" size="md" />
             <div v-else>
                 <div class="header">Mana: {{ toCurrency(mana) }}</div>
                 <div class="q-pa-md">
-                    <slot />
+                    <slot :popup="QPopupProxyRef" />
+                    <div v-if="usesMana" class="column q-gutter-y-sm q-mt-sm">
+                        <VnUsesMana :mana-code="manaCode" />
+                    </div>
                     <div v-if="newPrice" class="column items-center q-mt-lg">
                         <span class="text-primary">{{ t('New price') }}</span>
                         <span class="text-subtitle1">
@@ -56,9 +64,6 @@ const cancel = () => {
                     </div>
                 </div>
             </div>
-            <div v-if="usesMana" class="column q-gutter-y-sm q-mt-sm">
-                <VnUsesMana :mana-code="manaCode" />
-            </div>
             <div class="row">
                 <QBtn
                     color="primary"
diff --git a/src/pages/Ticket/Card/TicketPackage.vue b/src/pages/Ticket/Card/TicketPackage.vue
index 8bfb73682ef..5fbf4c80017 100644
--- a/src/pages/Ticket/Card/TicketPackage.vue
+++ b/src/pages/Ticket/Card/TicketPackage.vue
@@ -49,7 +49,7 @@ watch(
     <FetchData
         @on-fetch="(data) => (listPackagingsOptions = data)"
         auto-load
-        :filter="{ fields: ['packagingFk', 'name'], order: 'name ASC', limit: 30 }"
+        :filter="{ fields: ['packagingFk', 'name'], order: 'name ASC' }"
         url="Packagings/listPackaging"
     />
     <div class="flex justify-center">
diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue
index 004bcbe7927..e680fb29012 100644
--- a/src/pages/Ticket/Card/TicketSale.vue
+++ b/src/pages/Ticket/Card/TicketSale.vue
@@ -22,7 +22,6 @@ import { useVnConfirm } from 'composables/useVnConfirm';
 import useNotify from 'src/composables/useNotify.js';
 import axios from 'axios';
 import VnTable from 'src/components/VnTable/VnTable.vue';
-import VnUsesMana from 'src/components/ui/VnUsesMana.vue';
 import VnConfirm from 'src/components/ui/VnConfirm.vue';
 import TicketProblems from 'src/components/TicketProblems.vue';
 import RightMenu from 'src/components/common/RightMenu.vue';
@@ -33,6 +32,7 @@ const { t } = useI18n();
 const { notify } = useNotify();
 const { openConfirmationModal } = useVnConfirm();
 const editPriceProxyRef = ref(null);
+const editManaProxyRef = ref(null);
 const stateBtnDropdownRef = ref(null);
 const quasar = useQuasar();
 const arrayData = useArrayData('Ticket');
@@ -53,7 +53,6 @@ const transfer = ref({
     sales: [],
 });
 const tableRef = ref([]);
-const canProceed = ref();
 
 watch(
     () => route.params.id,
@@ -133,7 +132,6 @@ const columns = computed(() => [
         align: 'left',
         label: t('globals.amount'),
         name: 'amount',
-        format: (row) => parseInt(row.amount * row.quantity),
     },
     {
         align: 'left',
@@ -183,8 +181,6 @@ const resetChanges = async () => {
 };
 const rowToUpdate = ref(null);
 const changeQuantity = async (sale) => {
-    canProceed.value = await isSalePrepared(sale);
-    if (!canProceed.value) return;
     if (
         !sale.itemFk ||
         sale.quantity == null ||
@@ -193,11 +189,21 @@ const changeQuantity = async (sale) => {
         return;
     if (!sale.id) return addSale(sale);
 
+    if (await isSalePrepared(sale)) {
+        await confirmUpdate(() => updateQuantity(sale));
+    } else await updateQuantity(sale);
+};
+
+const updateQuantity = async (sale) => {
     try {
+        let { quantity, id } = sale;
         if (!rowToUpdate.value) return;
         rowToUpdate.value = null;
         sale.isNew = false;
-        await updateQuantity(sale);
+        const params = { quantity: quantity };
+        await axios.post(`Sales/${id}/updateQuantity`, params);
+        notify('globals.dataSaved', 'positive');
+        tableRef.value.reload();
     } catch (e) {
         const { quantity } = tableRef.value.CrudModelRef.originalData.find(
             (s) => s.id === sale.id,
@@ -207,12 +213,6 @@ const changeQuantity = async (sale) => {
     }
 };
 
-const updateQuantity = async ({ quantity, id }) => {
-    const params = { quantity: quantity };
-    await axios.post(`Sales/${id}/updateQuantity`, params);
-    notify('globals.dataSaved', 'positive');
-};
-
 const addSale = async (sale) => {
     const params = {
         barcode: sale.itemFk,
@@ -237,13 +237,17 @@ const addSale = async (sale) => {
     sale.isNew = false;
     arrayData.fetch({});
 };
+const changeConcept = async (sale) => {
+    if (await isSalePrepared(sale)) {
+        await confirmUpdate(() => updateConcept(sale));
+    } else await updateConcept(sale);
+};
 
 const updateConcept = async (sale) => {
-    canProceed.value = await isSalePrepared(sale);
-    if (!canProceed.value) return;
     const data = { newConcept: sale.concept };
     await axios.post(`Sales/${sale.id}/updateConcept`, data);
     notify('globals.dataSaved', 'positive');
+    tableRef.value.reload();
 };
 
 const DEFAULT_EDIT = {
@@ -295,33 +299,43 @@ const onOpenEditDiscountPopover = async (sale) => {
         };
     }
 };
-
-const updatePrice = async (sale) => {
-    canProceed.value = await isSalePrepared(sale);
-    if (!canProceed.value) return;
+const changePrice = async (sale) => {
     const newPrice = edit.value.price;
     if (newPrice != null && newPrice != sale.price) {
-        await axios.post(`Sales/${sale.id}/updatePrice`, { newPrice });
-        sale.price = newPrice;
-        edit.value = { ...DEFAULT_EDIT };
-        notify('globals.dataSaved', 'positive');
+        if (await isSalePrepared(sale)) {
+            await confirmUpdate(() => updatePrice(sale, newPrice));
+        } else updatePrice(sale, newPrice);
     }
-
     await getMana();
 };
+const updatePrice = async (sale, newPrice) => {
+    await axios.post(`Sales/${sale.id}/updatePrice`, { newPrice });
+    sale.price = newPrice;
+    edit.value = { ...DEFAULT_EDIT };
+    notify('globals.dataSaved', 'positive');
+    tableRef.value.reload();
+};
 
 const changeDiscount = async (sale) => {
-    canProceed.value = await isSalePrepared(sale);
-    if (!canProceed.value) return;
     const newDiscount = edit.value.discount;
-    if (newDiscount != null && newDiscount != sale.discount) updateDiscount([sale]);
+    if (newDiscount != null && newDiscount != sale.discount) {
+        if (await isSalePrepared(sale))
+            await confirmUpdate(() => updateDiscount([sale], newDiscount));
+        else await updateDiscount([sale], newDiscount);
+    }
+};
+
+const updateDiscounts = async (sales, newDiscount = null) => {
+    const salesTracking = await fetchSalesTracking();
+
+    const someSaleIsPrepared = salesTracking.some((sale) =>
+        matchSale(salesTracking, sale),
+    );
+    if (someSaleIsPrepared) await confirmUpdate(() => updateDiscount(sales, newDiscount));
+    else updateDiscount(sales, newDiscount);
 };
 
 const updateDiscount = async (sales, newDiscount = null) => {
-    for (const sale of sales) {
-        const canProceed = await isSalePrepared(sale);
-        if (!canProceed) return;
-    }
     const saleIds = sales.map((sale) => sale.id);
     const _newDiscount = newDiscount || edit.value.discount;
     const params = {
@@ -331,8 +345,7 @@ const updateDiscount = async (sales, newDiscount = null) => {
     };
     await axios.post(`Tickets/${route.params.id}/updateDiscount`, params);
     notify('globals.dataSaved', 'positive');
-    for (let sale of sales) sale.discount = _newDiscount;
-    edit.value = { ...DEFAULT_EDIT };
+    tableRef.value.reload();
 };
 
 const getNewPrice = computed(() => {
@@ -425,9 +438,13 @@ onMounted(async () => {
 const items = ref([]);
 const newRow = ref({});
 
+const changeItem = async (sale) => {
+    if (await isSalePrepared(sale)) {
+        await confirmUpdate(() => updateItem(sale));
+    } else await updateItem(sale);
+};
+
 const updateItem = async (row) => {
-    canProceed.value = await isSalePrepared(row);
-    if (!canProceed.value) return;
     const selectedItem = items.value.find((item) => item.id === row.itemFk);
     if (selectedItem) {
         row.item = selectedItem;
@@ -471,7 +488,18 @@ const endNewRow = (row) => {
     }
 };
 
-async function isSalePrepared(item) {
+async function confirmUpdate(cb) {
+    await quasar
+        .dialog({
+            component: VnConfirm,
+            componentProps: {
+                title: t('Item prepared'),
+                message: t('This item is already prepared. Do you want to continue?'),
+            },
+        })
+        .onOk(cb);
+}
+async function fetchSalesTracking() {
     const filter = {
         params: {
             where: { ticketFk: route.params.id },
@@ -483,48 +511,37 @@ async function isSalePrepared(item) {
             filter: JSON.stringify(filter),
         },
     });
-
-    const matchingSale = data.find((sale) => sale.itemFk === item.itemFk);
-    if (!matchingSale) {
-        return true;
-    }
-
-    if (
-        matchingSale.hasSaleGroupDetail ||
-        matchingSale.isControled ||
-        matchingSale.isPrepared ||
-        matchingSale.isPrevious ||
-        matchingSale.isPreviousSelected
-    ) {
-        try {
-            await new Promise((resolve, reject) => {
-                quasar
-                    .dialog({
-                        component: VnConfirm,
-                        componentProps: {
-                            title: t('Item prepared'),
-                            message: t(
-                                'This item is already prepared. Do you want to continue?',
-                            ),
-                            data: item,
-                        },
-                    })
-                    .onOk(() => resolve(true))
-                    .onCancel(() => reject(new Error('cancelled')));
-            });
-        } catch (error) {
-            tableRef.value.reload();
-            return false;
-        }
-    }
-    return true;
+    return data;
 }
 
+async function isSalePrepared(sale) {
+    const data = await fetchSalesTracking();
+    return matchSale(data, sale);
+}
+function matchSale(data, sale) {
+    const matchingSale = data.find(({ itemFk }) => itemFk === sale.itemFk);
+
+    if (!matchingSale) {
+        return false;
+    }
+
+    return isPrepared(matchingSale);
+}
+function isPrepared(sale) {
+    const flagsToCheck = [
+        'hasSaleGroupDetail',
+        'isControled',
+        'isPrepared',
+        'isPrevious',
+        'isPreviousSelected',
+    ];
+    return flagsToCheck.some((flag) => sale[flag] === 1);
+}
 watch(
     () => newRow.value.itemFk,
     (newItemFk) => {
         if (newItemFk) {
-            updateItem(newRow.value);
+            changeItem(newRow.value);
         }
     },
 );
@@ -585,7 +602,7 @@ watch(
                     :mana="mana"
                     :ticket-config="ticketConfig"
                     @get-mana="getMana()"
-                    @update-discounts="updateDiscount"
+                    @update-discounts="updateDiscounts"
                     @refresh-table="resetChanges"
                 />
                 <QBtn
@@ -716,7 +733,7 @@ watch(
                 option-value="id"
                 v-model="row.itemFk"
                 :use-like="false"
-                @update:model-value="updateItem(row)"
+                @update:model-value="changeItem(row)"
             >
                 <template #option="scope">
                     <QItem v-bind="scope.itemProps">
@@ -742,16 +759,21 @@ watch(
             </div>
             <FetchedTags :item="row" :max-length="6" />
             <QPopupProxy v-if="row.id && isTicketEditable">
-                <VnInput v-model="row.concept" @change="updateConcept(row)" />
+                <VnInput
+                    v-model="row.concept"
+                    @keyup.enter.stop="changeConcept(row)"
+                    :hint="t('globals.enterToConfirm')"
+                />
             </QPopupProxy>
         </template>
         <template #column-quantity="{ row }">
             <VnInput
+                data-cy="ticketSaleQuantityInput"
                 v-if="row.isNew || isTicketEditable"
                 type="number"
                 v-model.number="row.quantity"
                 @blur="changeQuantity(row)"
-                @keyup.enter="changeQuantity(row)"
+                @keyup.enter.stop="changeQuantity(row)"
                 @update:model-value="() => (rowToUpdate = row)"
                 @focus="edit.oldQuantity = row.quantity"
             />
@@ -765,10 +787,12 @@ watch(
                 <TicketEditManaProxy
                     ref="editPriceProxyRef"
                     :mana="mana"
+                    :sale="row"
                     :new-price="getNewPrice"
-                    @save="updatePrice(row)"
+                    @save="changePrice"
                 >
                     <VnInput
+                        @keyup.enter.stop="() => editManaProxyRef.save(row)"
                         v-model.number="edit.price"
                         :label="t('basicData.price')"
                         type="number"
@@ -782,27 +806,29 @@ watch(
                 <QBtn flat class="link" dense @click="onOpenEditDiscountPopover(row)">
                     {{ toPercentage(row.discount / 100) }}
                 </QBtn>
+
                 <TicketEditManaProxy
+                    ref="editManaProxyRef"
                     :mana="mana"
+                    :sale="row"
                     :new-price="getNewPrice"
                     :uses-mana="usesMana"
                     :mana-code="manaCode"
-                    @save="changeDiscount(row)"
+                    @save="changeDiscount"
                 >
                     <VnInput
+                        autofocus
+                        @keyup.enter.stop="() => editManaProxyRef.save(row)"
                         v-model.number="edit.discount"
                         :label="t('ticketSale.discount')"
                         type="number"
                     />
-                    <div v-if="usesMana" class="column q-gutter-y-sm q-mt-sm">
-                        <VnUsesMana :mana-code="manaCode" />
-                    </div>
                 </TicketEditManaProxy>
             </template>
             <span v-else>{{ toPercentage(row.discount / 100) }}</span>
         </template>
         <template #column-amount="{ row }">
-            {{ toCurrency(row.quantity * row.price) }}
+            {{ toCurrency(getSaleTotal(row)) }}
         </template>
     </VnTable>
 
diff --git a/src/pages/Ticket/TicketFuture.vue b/src/pages/Ticket/TicketFuture.vue
index e8e2dd775b7..92911cd2549 100644
--- a/src/pages/Ticket/TicketFuture.vue
+++ b/src/pages/Ticket/TicketFuture.vue
@@ -1,24 +1,22 @@
 <script setup>
-import { onMounted, ref, computed, reactive } from 'vue';
+import { ref, computed, reactive, watch } from 'vue';
 import { useI18n } from 'vue-i18n';
 
-import FetchData from 'components/FetchData.vue';
-import VnInput from 'src/components/common/VnInput.vue';
-import VnSelect from 'src/components/common/VnSelect.vue';
 import TicketDescriptorProxy from 'src/pages/Ticket/Card/TicketDescriptorProxy.vue';
 import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
 import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
 import RightMenu from 'src/components/common/RightMenu.vue';
+import VnTable from 'src/components/VnTable/VnTable.vue';
 import TicketFutureFilter from './TicketFutureFilter.vue';
 
 import { dashIfEmpty, toCurrency } from 'src/filters';
 import { useVnConfirm } from 'composables/useVnConfirm';
-import { useArrayData } from 'composables/useArrayData';
 import { getDateQBadgeColor } from 'src/composables/getDateQBadgeColor.js';
 import useNotify from 'src/composables/useNotify.js';
 import { useState } from 'src/composables/useState';
 import { toDateTimeFormat } from 'src/filters/date.js';
 import axios from 'axios';
+import TicketProblems from 'src/components/TicketProblems.vue';
 
 const state = useState();
 const { t } = useI18n();
@@ -26,214 +24,126 @@ const { openConfirmationModal } = useVnConfirm();
 const { notify } = useNotify();
 const user = state.getUser();
 
-const itemPackingTypesOptions = ref([]);
 const selectedTickets = ref([]);
-
-const exprBuilder = (param, value) => {
-    switch (param) {
-        case 'id':
-            return { id: value };
-        case 'futureId':
-            return { futureId: value };
-        case 'liters':
-            return { liters: value };
-        case 'lines':
-            return { lines: value };
-        case 'iptColFilter':
-            return { ipt: { like: `%${value}%` } };
-        case 'futureIptColFilter':
-            return { futureIpt: { like: `%${value}%` } };
-        case 'totalWithVat':
-            return { totalWithVat: value };
-    }
-};
-
+const vnTableRef = ref({});
+const originElRef = ref(null);
+const destinationElRef = ref(null);
 const userParams = reactive({
     futureScopeDays: Date.vnNew().toISOString(),
     originScopeDays: Date.vnNew().toISOString(),
     warehouseFk: user.value.warehouseFk,
 });
 
-const arrayData = useArrayData('FutureTickets', {
-    url: 'Tickets/getTicketsFuture',
-    userParams: userParams,
-    exprBuilder: exprBuilder,
-});
-const { store } = arrayData;
-
-const params = reactive({
-    futureScopeDays: Date.vnNew(),
-    originScopeDays: Date.vnNew(),
-    warehouseFk: user.value.warehouseFk,
-});
-
-const applyColumnFilter = async (col) => {
-    const paramKey = col.columnFilter?.filterParamKey || col.field;
-    params[paramKey] = col.columnFilter.filterValue;
-    await arrayData.addFilter({ params });
-};
-
-const getInputEvents = (col) => {
-    return col.columnFilter.type === 'select'
-        ? { 'update:modelValue': () => applyColumnFilter(col) }
-        : {
-              'keyup.enter': () => applyColumnFilter(col),
-          };
-};
-
-const tickets = computed(() => store.data);
-
 const ticketColumns = computed(() => [
     {
-        label: t('futureTickets.problems'),
+        label: '',
         name: 'problems',
+        headerClass: 'horizontal-separator',
         align: 'left',
-        columnFilter: null,
+        columnFilter: false,
     },
     {
         label: t('advanceTickets.ticketId'),
-        name: 'ticketId',
+        name: 'id',
         align: 'center',
-        sortable: true,
-        columnFilter: {
-            component: VnInput,
-            type: 'text',
-            filterValue: null,
-            filterParamKey: 'id',
-            event: getInputEvents,
-            attrs: {
-                dense: true,
-            },
-        },
+        headerClass: 'horizontal-separator',
     },
     {
         label: t('futureTickets.shipped'),
         name: 'shipped',
         align: 'left',
-        sortable: true,
-        columnFilter: null,
+        columnFilter: false,
+        headerClass: 'horizontal-separator',
     },
     {
+        align: 'center',
+        class: 'shrink',
         label: t('advanceTickets.ipt'),
         name: 'ipt',
-        field: 'ipt',
-        align: 'left',
-        sortable: true,
         columnFilter: {
-            component: VnSelect,
-            filterParamKey: 'iptColFilter',
-            type: 'select',
-            filterValue: null,
-            event: getInputEvents,
+            component: 'select',
             attrs: {
-                options: itemPackingTypesOptions.value,
-                'option-value': 'code',
-                'option-label': 'description',
-                dense: true,
+                url: 'itemPackingTypes',
+                fields: ['code', 'description'],
+                where: { isActive: true },
+                optionValue: 'code',
+                optionLabel: 'description',
+                inWhere: false,
             },
         },
-        format: (val) => dashIfEmpty(val),
+        format: (row, dashIfEmpty) => dashIfEmpty(row.ipt),
+        headerClass: 'horizontal-separator',
     },
     {
         label: t('ticketList.state'),
         name: 'state',
         align: 'left',
-        sortable: true,
-        columnFilter: null,
+        columnFilter: false,
+        headerClass: 'horizontal-separator',
     },
     {
         label: t('advanceTickets.liters'),
         name: 'liters',
-        field: 'liters',
         align: 'left',
-        sortable: true,
-        columnFilter: {
-            component: VnInput,
-            type: 'text',
-            filterValue: null,
-            event: getInputEvents,
-            attrs: {
-                dense: true,
-            },
-        },
+        headerClass: 'horizontal-separator',
     },
     {
         label: t('advanceTickets.import'),
-        field: 'import',
         name: 'import',
         align: 'left',
-        sortable: true,
+        headerClass: 'horizontal-separator',
+        columnFilter: false,
+        format: (row) => toCurrency(row.totalWithVat),
     },
     {
         label: t('futureTickets.availableLines'),
         name: 'lines',
         field: 'lines',
         align: 'center',
-        sortable: true,
-        columnFilter: {
-            component: VnInput,
-            type: 'text',
-            filterValue: null,
-            event: getInputEvents,
-            attrs: {
-                dense: true,
-            },
-        },
-        format: (val) => dashIfEmpty(val),
+        headerClass: 'horizontal-separator',
+        format: (row, dashIfEmpty) => dashIfEmpty(row.lines),
     },
     {
         label: t('advanceTickets.futureId'),
         name: 'futureId',
-        align: 'left',
-        sortable: true,
-        columnFilter: {
-            component: VnInput,
-            type: 'text',
-            filterValue: null,
-            filterParamKey: 'futureId',
-            event: getInputEvents,
-            attrs: {
-                dense: true,
-            },
-        },
+        align: 'center',
+        headerClass: 'horizontal-separator vertical-separator ',
+        columnClass: 'vertical-separator',
     },
     {
         label: t('futureTickets.futureShipped'),
         name: 'futureShipped',
         align: 'left',
-        sortable: true,
-        columnFilter: null,
-        format: (val) => dashIfEmpty(val),
+        headerClass: 'horizontal-separator',
+        columnFilter: false,
+        format: (row) => toDateTimeFormat(row.futureShipped),
     },
-
     {
+        align: 'center',
         label: t('advanceTickets.futureIpt'),
+        class: 'shrink',
         name: 'futureIpt',
-        field: 'futureIpt',
-        align: 'left',
-        sortable: true,
         columnFilter: {
-            component: VnSelect,
-            filterParamKey: 'futureIptColFilter',
-            type: 'select',
-            filterValue: null,
-            event: getInputEvents,
+            component: 'select',
             attrs: {
-                options: itemPackingTypesOptions.value,
-                'option-value': 'code',
-                'option-label': 'description',
-                dense: true,
+                url: 'itemPackingTypes',
+                fields: ['code', 'description'],
+                where: { isActive: true },
+                optionValue: 'code',
+                optionLabel: 'description',
             },
         },
-        format: (val) => dashIfEmpty(val),
+        headerClass: 'horizontal-separator',
+        format: (row, dashIfEmpty) => dashIfEmpty(row.futureIpt),
     },
     {
         label: t('advanceTickets.futureState'),
         name: 'futureState',
         align: 'right',
-        sortable: true,
-        columnFilter: null,
-        format: (val) => dashIfEmpty(val),
+        headerClass: 'horizontal-separator',
+        class: 'expand',
+        columnFilter: false,
+        format: (row, dashIfEmpty) => dashIfEmpty(row.futureState),
     },
 ]);
 
@@ -258,26 +168,51 @@ const moveTicketsFuture = async () => {
     await axios.post('Tickets/merge', params);
     notify(t('advanceTickets.moveTicketSuccess'), 'positive');
     selectedTickets.value = [];
-    arrayData.fetch({ append: false });
+    vnTableRef.value.reload();
 };
-onMounted(async () => {
-    await arrayData.fetch({ append: false });
-});
+
+watch(
+    () => vnTableRef.value.tableRef?.$el,
+    ($el) => {
+        if (!$el) return;
+        const head = $el.querySelector('thead');
+        const firstRow = $el.querySelector('thead > tr');
+
+        const newRow = document.createElement('tr');
+        destinationElRef.value = document.createElement('th');
+        originElRef.value = document.createElement('th');
+
+        newRow.classList.add('bg-header');
+        destinationElRef.value.classList.add('text-uppercase', 'color-vn-label');
+        originElRef.value.classList.add('text-uppercase', 'color-vn-label');
+
+        destinationElRef.value.setAttribute('colspan', '7');
+        originElRef.value.setAttribute('colspan', '9');
+
+        originElRef.value.textContent = `${t('advanceTickets.origin')}`;
+        destinationElRef.value.textContent = `${t('advanceTickets.destination')}`;
+
+        newRow.append(destinationElRef.value, originElRef.value);
+        head.insertBefore(newRow, firstRow);
+    },
+    { once: true, inmmediate: true },
+);
+
+watch(
+    () => vnTableRef.value.params,
+    () => {
+        if (originElRef.value && destinationElRef.value) {
+            destinationElRef.value.textContent = `${t('advanceTickets.origin')}`;
+            originElRef.value.textContent = `${t('advanceTickets.destination')}`;
+        }
+    },
+    { deep: true },
+);
 </script>
 
 <template>
-    <FetchData
-        url="itemPackingTypes"
-        :filter="{
-            fields: ['code', 'description'],
-            order: 'description ASC',
-            where: { isActive: true },
-        }"
-        auto-load
-        @on-fetch="(data) => (itemPackingTypesOptions = data)"
-    />
     <VnSearchbar
-        data-key="FutureTickets"
+        data-key="futureTicket"
         :label="t('Search ticket')"
         :info="t('futureTickets.searchInfo')"
     />
@@ -293,7 +228,7 @@ onMounted(async () => {
                         t(`futureTickets.moveTicketDialogSubtitle`, {
                             selectedTickets: selectedTickets.length,
                         }),
-                        moveTicketsFuture
+                        moveTicketsFuture,
                     )
                 "
             >
@@ -305,77 +240,29 @@ onMounted(async () => {
     </VnSubToolbar>
     <RightMenu>
         <template #right-panel>
-            <TicketFutureFilter data-key="FutureTickets" />
+            <TicketFutureFilter data-key="futureTickets" />
         </template>
     </RightMenu>
     <QPage class="column items-center q-pa-md">
-        <QTable
-            :rows="tickets"
+        <VnTable
+            data-key="futureTickets"
+            ref="vnTableRef"
+            url="Tickets/getTicketsFuture"
+            search-url="futureTickets"
+            :user-params="userParams"
+            :limit="0"
             :columns="ticketColumns"
-            row-key="id"
-            selection="multiple"
+            :table="{
+                'row-key': '$index',
+                selection: 'multiple',
+            }"
             v-model:selected="selectedTickets"
-            :pagination="{ rowsPerPage: 0 }"
-            :no-data-label="t('globals.noResults')"
-            style="max-width: 99%"
+            :right-search="false"
+            auto-load
+            :disable-option="{ card: true }"
         >
-            <template #header="props">
-                <QTr>
-                    <QTh class="horizontal-separator" />
-                    <QTh
-                        class="horizontal-separator text-uppercase color-vn-label"
-                        colspan="8"
-                        translate
-                    >
-                        {{ t('advanceTickets.origin') }}
-                    </QTh>
-                    <QTh
-                        class="horizontal-separator text-uppercase color-vn-label"
-                        colspan="4"
-                        translate
-                    >
-                        {{ t('advanceTickets.destination') }}
-                    </QTh>
-                </QTr>
-                <QTr>
-                    <QTh>
-                        <QCheckbox v-model="props.selected" />
-                    </QTh>
-                    <QTh
-                        v-for="(col, index) in ticketColumns"
-                        :key="index"
-                        :class="{ 'vertical-separator': col.name === 'futureId' }"
-                    >
-                        {{ col.label }}
-                    </QTh>
-                </QTr>
-            </template>
-            <template #top-row="{ cols }">
-                <QTr>
-                    <QTd />
-                    <QTd
-                        v-for="(col, index) in cols"
-                        :key="index"
-                        style="max-width: 100px"
-                    >
-                        <component
-                            :is="col.columnFilter.component"
-                            v-if="col.columnFilter"
-                            v-model="col.columnFilter.filterValue"
-                            v-bind="col.columnFilter.attrs"
-                            v-on="col.columnFilter.event(col)"
-                            dense
-                        />
-                    </QTd>
-                </QTr>
-            </template>
-            <template #header-cell-availableLines="{ col }">
-                <QTh class="vertical-separator">
-                    {{ col.label }}
-                </QTh>
-            </template>
-            <template #body-cell-problems="{ row }">
-                <QTd class="q-gutter-x-xs">
+            <template #column-problems="{ row }">
+                <span class="q-gutter-x-xs">
                     <QIcon
                         v-if="row.futureAgencyFk !== row.agencyFk && row.agencyFk"
                         color="primary"
@@ -400,164 +287,88 @@ onMounted(async () => {
                             </span>
                         </QTooltip>
                     </QIcon>
-                    <QIcon
-                        v-if="row.isTaxDataChecked === 0"
-                        color="primary"
-                        name="vn:no036"
-                        size="xs"
-                    >
-                        <QTooltip>
-                            {{ t('futureTickets.noVerified') }}
-                        </QTooltip>
-                    </QIcon>
-                    <QIcon
-                        v-if="row.hasTicketRequest"
-                        color="primary"
-                        name="vn:buyrequest"
-                        size="xs"
-                    >
-                        <QTooltip>
-                            {{ t('futureTickets.purchaseRequest') }}
-                        </QTooltip>
-                    </QIcon>
-                    <QIcon
-                        v-if="row.itemShortage"
-                        color="primary"
-                        name="vn:unavailable"
-                        size="xs"
-                    >
-                        <QTooltip>
-                            {{ t('ticketSale.noVisible') }}
-                        </QTooltip>
-                    </QIcon>
-                    <QIcon
-                        v-if="row.isFreezed"
-                        color="primary"
-                        name="vn:frozen"
-                        size="xs"
-                    >
-                        <QTooltip>
-                            {{ t('futureTickets.clientFrozen') }}
-                        </QTooltip>
-                    </QIcon>
-                    <QIcon v-if="row.risk" color="primary" name="vn:risk" size="xs">
-                        <QTooltip>
-                            {{ t('futureTickets.risk') }}: {{ row.risk }}
-                        </QTooltip>
-                    </QIcon>
-                    <QIcon
-                        v-if="row.hasComponentLack"
-                        color="primary"
-                        name="vn:components"
-                        size="xs"
-                    >
-                        <QTooltip>
-                            {{ t('futureTickets.componentLack') }}
-                        </QTooltip>
-                    </QIcon>
-                    <QIcon
-                        v-if="row.hasRounding"
-                        color="primary"
-                        name="sync_problem"
-                        size="xs"
-                    >
-                        <QTooltip>
-                            {{ t('futureTickets.rounding') }}
-                        </QTooltip>
-                    </QIcon>
-                </QTd>
+                    <TicketProblems :row />
+                </span>
             </template>
-            <template #body-cell-ticketId="{ row }">
-                <QTd>
-                    <QBtn flat class="link">
-                        {{ row.id }}
-                        <TicketDescriptorProxy :id="row.id" />
-                    </QBtn>
-                </QTd>
+            <template #column-id="{ row }">
+                <QBtn flat class="link" @click.stop dense>
+                    {{ row.id }}
+                    <TicketDescriptorProxy :id="row.id" />
+                </QBtn>
             </template>
-            <template #body-cell-shipped="{ row }">
-                <QTd class="shipped">
-                    <QBadge
-                        text-color="black"
-                        :color="getDateQBadgeColor(row.shipped)"
-                        class="q-ma-none"
-                    >
-                        {{ toDateTimeFormat(row.shipped) }}
-                    </QBadge>
-                </QTd>
+            <template #column-shipped="{ row }">
+                <QBadge
+                    text-color="black"
+                    :color="getDateQBadgeColor(row.shipped)"
+                    class="q-ma-none"
+                >
+                    {{ toDateTimeFormat(row.shipped) }}
+                </QBadge>
             </template>
-            <template #body-cell-state="{ row }">
-                <QTd>
-                    <QBadge
-                        text-color="black"
-                        :color="row.classColor"
-                        class="q-ma-none"
-                        dense
-                    >
-                        {{ row.state }}
-                    </QBadge>
-                </QTd>
+            <template #column-state="{ row }">
+                <QBadge
+                    v-if="row.state"
+                    text-color="black"
+                    :color="row.classColor"
+                    class="q-ma-none"
+                    dense
+                >
+                    {{ row.state }}
+                </QBadge>
+                <span v-else> {{ dashIfEmpty(row.state) }}</span>
             </template>
-            <template #body-cell-import="{ row }">
-                <QTd>
-                    <QBadge
-                        :text-color="
-                            totalPriceColor(row.totalWithVat) === 'warning'
-                                ? 'black'
-                                : 'white'
-                        "
-                        :color="totalPriceColor(row.totalWithVat)"
-                        class="q-ma-none"
-                        dense
-                    >
-                        {{ toCurrency(row.totalWithVat || 0) }}
-                    </QBadge>
-                </QTd>
+            <template #column-import="{ row }">
+                <QBadge
+                    :text-color="
+                        totalPriceColor(row.totalWithVat) === 'warning'
+                            ? 'black'
+                            : 'white'
+                    "
+                    :color="totalPriceColor(row.totalWithVat)"
+                    class="q-ma-none"
+                    dense
+                >
+                    {{ toCurrency(row.totalWithVat || 0) }}
+                </QBadge>
             </template>
-            <template #body-cell-futureId="{ row }">
-                <QTd class="vertical-separator">
-                    <QBtn flat class="link" dense>
-                        {{ row.futureId }}
-                        <TicketDescriptorProxy :id="row.futureId" />
-                    </QBtn>
-                </QTd>
+            <template #column-futureId="{ row }">
+                <QBtn flat class="link" @click.stop dense>
+                    {{ row.futureId }}
+                    <TicketDescriptorProxy :id="row.futureId" />
+                </QBtn>
             </template>
-            <template #body-cell-futureShipped="{ row }">
-                <QTd class="shipped">
-                    <QBadge
-                        text-color="black"
-                        :color="getDateQBadgeColor(row.futureShipped)"
-                        class="q-ma-none"
-                    >
-                        {{ toDateTimeFormat(row.futureShipped) }}
-                    </QBadge>
-                </QTd>
+            <template #column-futureShipped="{ row }">
+                <QBadge
+                    text-color="black"
+                    :color="getDateQBadgeColor(row.futureShipped)"
+                    class="q-ma-none"
+                >
+                    {{ toDateTimeFormat(row.futureShipped) }}
+                </QBadge>
             </template>
-            <template #body-cell-futureState="{ row }">
-                <QTd>
-                    <QBadge
-                        text-color="black"
-                        :color="row.futureClassColor"
-                        class="q-ma-none"
-                        dense
-                    >
-                        {{ row.futureState }}
-                    </QBadge>
-                </QTd>
+            <template #column-futureState="{ row }">
+                <QBadge
+                    text-color="black"
+                    :color="row.futureClassColor"
+                    class="q-mr-xs"
+                    dense
+                >
+                    {{ row.futureState }}
+                </QBadge>
             </template>
-        </QTable>
+        </VnTable>
     </QPage>
 </template>
 
 <style scoped lang="scss">
-.shipped {
-    min-width: 132px;
-}
-.vertical-separator {
+:deep(.vertical-separator) {
     border-left: 4px solid white !important;
 }
 
-.horizontal-separator {
+:deep(.horizontal-separator) {
+    border-top: 4px solid white !important;
+}
+:deep(.horizontal-bottom-separator) {
     border-bottom: 4px solid white !important;
 }
 </style>
diff --git a/src/pages/Ticket/TicketFutureFilter.vue b/src/pages/Ticket/TicketFutureFilter.vue
index d28b0af71e9..64e060a3921 100644
--- a/src/pages/Ticket/TicketFutureFilter.vue
+++ b/src/pages/Ticket/TicketFutureFilter.vue
@@ -12,7 +12,7 @@ import axios from 'axios';
 import { onMounted } from 'vue';
 
 const { t } = useI18n();
-const props = defineProps({
+defineProps({
     dataKey: {
         type: String,
         required: true,
@@ -58,7 +58,7 @@ onMounted(async () => {
         auto-load
     />
     <VnFilterPanel
-        :data-key="props.dataKey"
+        :data-key
         :un-removable-params="['warehouseFk', 'originScopeDays ', 'futureScopeDays']"
     >
         <template #tags="{ tag, formatFn }">
diff --git a/src/pages/Travel/Card/TravelBasicData.vue b/src/pages/Travel/Card/TravelBasicData.vue
index 4b9aa28ed06..b1adc812622 100644
--- a/src/pages/Travel/Card/TravelBasicData.vue
+++ b/src/pages/Travel/Card/TravelBasicData.vue
@@ -9,6 +9,7 @@ import VnRow from 'components/ui/VnRow.vue';
 import VnInput from 'src/components/common/VnInput.vue';
 import VnSelect from 'src/components/common/VnSelect.vue';
 import VnInputDate from 'components/common/VnInputDate.vue';
+import VnInputTime from 'components/common/VnInputTime.vue';
 
 const route = useRoute();
 const { t } = useI18n();
@@ -53,7 +54,16 @@ const warehousesOptionsIn = ref([]);
                 <VnInputDate v-model="data.shipped" :label="t('globals.shipped')" />
                 <VnInputDate v-model="data.landed" :label="t('globals.landed')" />
             </VnRow>
-
+            <VnRow>
+                <VnInputDate
+                    v-model="data.availabled"
+                    :label="t('travel.summary.availabled')" 
+                    />
+                <VnInputTime
+                    v-model="data.availabled"
+                    :label="t('travel.summary.availabledHour')"
+                />
+            </VnRow>
             <VnRow>
                 <VnSelect
                     :label="t('globals.warehouseOut')"
@@ -101,10 +111,3 @@ const warehousesOptionsIn = ref([]);
         </template>
     </FormModel>
 </template>
-
-<i18n>
-es:
-    raidDays: El travel se desplaza automรกticamente cada dรญa para estar desde hoy al nรบmero de dรญas indicado. Si se deja vacio no se moverรก
-en:
-    raidDays: The travel adjusts itself daily to match the number of days set, starting from today. If left blank, it wonโ€™t move
-</i18n>
diff --git a/src/pages/Travel/Card/TravelFilter.js b/src/pages/Travel/Card/TravelFilter.js
index f5f4520fd49..05436834ffb 100644
--- a/src/pages/Travel/Card/TravelFilter.js
+++ b/src/pages/Travel/Card/TravelFilter.js
@@ -11,6 +11,7 @@ export default {
         'agencyModeFk',
         'isRaid',
         'daysInForward',
+        'availabled',
     ],
     include: [
         {
diff --git a/src/pages/Travel/Card/TravelSummary.vue b/src/pages/Travel/Card/TravelSummary.vue
index 16d42f10424..9f955261181 100644
--- a/src/pages/Travel/Card/TravelSummary.vue
+++ b/src/pages/Travel/Card/TravelSummary.vue
@@ -10,6 +10,8 @@ import EntryDescriptorProxy from 'src/pages/Entry/Card/EntryDescriptorProxy.vue'
 import FetchData from 'src/components/FetchData.vue';
 import VnRow from 'components/ui/VnRow.vue';
 import { toDate, toCurrency, toCelsius } from 'src/filters';
+import { toDateTimeFormat } from 'src/filters/date.js';
+import { dashIfEmpty } from 'src/filters';
 import axios from 'axios';
 import TravelDescriptorMenuItems from './TravelDescriptorMenuItems.vue';
 
@@ -333,6 +335,12 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`;
                 <VnLv :label="t('globals.reference')" :value="travel.ref" />
                 <VnLv label="mยณ" :value="travel.m3" />
                 <VnLv :label="t('globals.totalEntries')" :value="travel.totalEntries" />
+                <VnLv
+                    :label="t('travel.summary.availabled')"
+                    :value="
+                        dashIfEmpty(toDateTimeFormat(travel.availabled))
+                    "
+                />
             </QCard>
             <QCard class="full-width">
                 <VnTitle :text="t('travel.summary.entries')" />
diff --git a/src/pages/Travel/Card/TravelThermographsForm.vue b/src/pages/Travel/Card/TravelThermographsForm.vue
index 7aec32972ce..446e5d50627 100644
--- a/src/pages/Travel/Card/TravelThermographsForm.vue
+++ b/src/pages/Travel/Card/TravelThermographsForm.vue
@@ -209,7 +209,7 @@ const onThermographCreated = async (data) => {
                         }"
                         sort-by="thermographFk ASC"
                         option-label="thermographFk"
-                        option-filter-value="id"
+                        option-filter-value="thermographFk"
                         :disable="viewAction === 'edit'"
                         :tooltip="t('New thermograph')"
                         :roles-allowed-to-create="['logistic']"
diff --git a/src/pages/Travel/ExtraCommunity.vue b/src/pages/Travel/ExtraCommunity.vue
index dee9d923a01..ac46caa44aa 100644
--- a/src/pages/Travel/ExtraCommunity.vue
+++ b/src/pages/Travel/ExtraCommunity.vue
@@ -2,6 +2,7 @@
 import { onMounted, ref, computed, watch } from 'vue';
 import { QBtn } from 'quasar';
 import { useI18n } from 'vue-i18n';
+import { useRoute } from 'vue-router';
 
 import SupplierDescriptorProxy from 'src/pages/Supplier/Card/SupplierDescriptorProxy.vue';
 import TravelDescriptorProxy from 'src/pages/Travel/Card/TravelDescriptorProxy.vue';
@@ -22,6 +23,8 @@ import VnPopup from 'src/components/common/VnPopup.vue';
 const stateStore = useStateStore();
 const { t } = useI18n();
 const { openReport } = usePrintService();
+const route = useRoute();
+const tableParams = ref();
 
 const shippedFrom = ref(Date.vnNew());
 const landedTo = ref(Date.vnNew());
@@ -143,7 +146,7 @@ const columns = computed(() => [
         sortable: true,
     },
     {
-        label: t('globals.pageTitles.supplier'),
+        label: t('extraCommunity.cargoShip'),
         field: 'cargoSupplierNickname',
         name: 'cargoSupplierNickname',
         align: 'left',
@@ -171,7 +174,7 @@ const columns = computed(() => [
                     ? value.reduce((sum, entry) => {
                           return sum + (entry.invoiceAmount || 0);
                       }, 0)
-                    : 0
+                    : 0,
             ),
     },
     {
@@ -200,7 +203,7 @@ const columns = computed(() => [
         sortable: true,
     },
     {
-        label: t('kg'),
+        label: t('extraCommunity.kg'),
         field: 'kg',
         name: 'kg',
         align: 'left',
@@ -208,7 +211,7 @@ const columns = computed(() => [
         sortable: true,
     },
     {
-        label: t('physicKg'),
+        label: t('extraCommunity.physicKg'),
         field: 'loadedKg',
         name: 'loadedKg',
         align: 'left',
@@ -232,7 +235,7 @@ const columns = computed(() => [
         sortable: true,
     },
     {
-        label: t('shipped'),
+        label: t('extraCommunity.shipped'),
         field: 'shipped',
         name: 'shipped',
         align: 'left',
@@ -249,7 +252,7 @@ const columns = computed(() => [
         sortable: true,
     },
     {
-        label: t('landed'),
+        label: t('extraCommunity.landed'),
         field: 'landed',
         name: 'landed',
         align: 'left',
@@ -258,7 +261,7 @@ const columns = computed(() => [
         format: (value) => toDate(value),
     },
     {
-        label: t('notes'),
+        label: t('extraCommunity.notes'),
         field: '',
         name: 'notes',
         align: 'center',
@@ -284,7 +287,7 @@ watch(
         if (!arrayData.store.data) return;
         onStoreDataChange();
     },
-    { deep: true, immediate: true }
+    { deep: true, immediate: true },
 );
 
 const openReportPdf = () => {
@@ -451,13 +454,24 @@ const getColor = (percentage) => {
     for (const { value, className } of travelKgPercentages.value)
         if (percentage > value) return className;
 };
+
+const filteredEntries = (entries) => {
+    if (!tableParams?.value?.entrySupplierFk) return entries;
+    return entries?.filter(
+        (entry) => entry.supplierFk === tableParams?.value?.entrySupplierFk,
+    );
+};
+
+watch(route, () => {
+    tableParams.value = JSON.parse(route.query.table);
+});
 </script>
 
 <template>
     <VnSearchbar
         data-key="ExtraCommunity"
         :limit="20"
-        :label="t('searchExtraCommunity')"
+        :label="t('extraCommunity.searchExtraCommunity')"
     />
     <RightMenu>
         <template #right-panel>
@@ -521,7 +535,7 @@ const getColor = (percentage) => {
                                     ? tableColumnComponents[col.name].event(
                                           rows[props.rowIndex][col.field],
                                           col.field,
-                                          props.rowIndex
+                                          props.rowIndex,
                                       )
                                     : {}
                             "
@@ -546,7 +560,7 @@ const getColor = (percentage) => {
                                     },
                                     {
                                         link: ['id', 'cargoSupplierNickname'].includes(
-                                            col.name
+                                            col.name,
                                         ),
                                     },
                                 ]"
@@ -564,9 +578,8 @@ const getColor = (percentage) => {
                         </component>
                     </QTd>
                 </QTr>
-
                 <QTr
-                    v-for="(entry, index) in props.row.entries"
+                    v-for="(entry, index) in filteredEntries(props.row.entries)"
                     :key="index"
                     :props="props"
                     class="bg-vn-secondary-row cursor-pointer"
@@ -598,7 +611,7 @@ const getColor = (percentage) => {
                             name="warning"
                             color="negative"
                             size="md"
-                            :title="t('requiresInspection')"
+                            :title="t('extraCommunity.requiresInspection')"
                         >
                         </QIcon>
                     </QTd>
@@ -709,24 +722,3 @@ const getColor = (percentage) => {
     width: max-content;
 }
 </style>
-<i18n>
-en:
-    searchExtraCommunity: Search for extra community shipping
-    kg: BI. KG
-    physicKg: Phy. KG
-    shipped: W. shipped
-    landed: W. landed
-    requiresInspection: Requires inspection
-    BIP: Boder Inspection Point
-    notes: Notes
-es:
-    searchExtraCommunity: Buscar por envรญo extra comunitario
-    kg: KG Bloq.
-    physicKg: KG fรญsico
-    shipped: F. envรญo
-    landed: F. llegada
-    notes: Notas
-    Open as PDF: Abrir como PDF
-    requiresInspection: Requiere inspecciรณn
-    BIP: Punto de Inspecciรณn Fronteriza
-</i18n>
diff --git a/src/pages/Travel/ExtraCommunityFilter.vue b/src/pages/Travel/ExtraCommunityFilter.vue
index b22574632fc..29d3423340c 100644
--- a/src/pages/Travel/ExtraCommunityFilter.vue
+++ b/src/pages/Travel/ExtraCommunityFilter.vue
@@ -79,7 +79,7 @@ warehouses();
     <VnFilterPanel :data-key="props.dataKey" :search-button="true">
         <template #tags="{ tag, formatFn }">
             <div class="q-gutter-x-xs">
-                <strong>{{ t(`params.${tag.label}`) }}: </strong>
+                <strong>{{ t(`extraCommunity.filter.${tag.label}`) }}: </strong>
                 <span>{{ formatFn(tag.value) }}</span>
             </div>
         </template>
@@ -92,7 +92,7 @@ warehouses();
             <QItem>
                 <QItemSection>
                     <VnInput
-                        :label="t('params.reference')"
+                        :label="t('extraCommunity.filter.reference')"
                         v-model="params.reference"
                         is-outlined
                     />
@@ -103,7 +103,7 @@ warehouses();
                     <QInput
                         v-model="params.totalEntries"
                         type="number"
-                        :label="t('params.totalEntries')"
+                        :label="t('extraCommunity.filter.totalEntries')"
                         dense
                         outlined
                         rounded
@@ -133,10 +133,10 @@ warehouses();
             <QItem>
                 <QItemSection>
                     <VnSelect
-                        :label="t('params.agencyModeFk')"
+                        :label="t('extraCommunity.filter.agencyModeFk')"
                         v-model="params.agencyModeFk"
                         :options="agenciesOptions"
-                        option-value="agencyFk"
+                        option-value="id"
                         option-label="name"
                         hide-selected
                         dense
@@ -148,7 +148,7 @@ warehouses();
             <QItem>
                 <QItemSection>
                     <VnInputDate
-                        :label="t('params.shippedFrom')"
+                        :label="t('extraCommunity.filter.shippedFrom')"
                         v-model="params.shippedFrom"
                         @update:model-value="searchFn()"
                         is-outlined
@@ -158,7 +158,7 @@ warehouses();
             <QItem>
                 <QItemSection>
                     <VnInputDate
-                        :label="t('params.landedTo')"
+                        :label="t('extraCommunity.filter.landedTo')"
                         v-model="params.landedTo"
                         @update:model-value="searchFn()"
                         is-outlined
@@ -168,7 +168,7 @@ warehouses();
             <QItem v-if="warehousesByContinent[params.continent]">
                 <QItemSection>
                     <VnSelect
-                        :label="t('params.warehouseOutFk')"
+                        :label="t('extraCommunity.filter.warehouseOutFk')"
                         v-model="params.warehouseOutFk"
                         :options="warehousesByContinent[params.continent]"
                         option-value="id"
@@ -183,7 +183,7 @@ warehouses();
             <QItem v-else>
                 <QItemSection>
                     <VnSelect
-                        :label="t('params.warehouseOutFk')"
+                        :label="t('extraCommunity.filter.warehouseOutFk')"
                         v-model="params.warehouseOutFk"
                         :options="warehousesOptions"
                         option-value="id"
@@ -198,7 +198,7 @@ warehouses();
             <QItem>
                 <QItemSection>
                     <VnSelect
-                        :label="t('params.warehouseInFk')"
+                        :label="t('extraCommunity.filter.warehouseInFk')"
                         v-model="params.warehouseInFk"
                         :options="warehousesOptions"
                         option-value="id"
@@ -213,6 +213,7 @@ warehouses();
             <QItem>
                 <QItemSection>
                     <VnSelectSupplier
+                        :label="t('extraCommunity.cargoShip')"
                         v-model="params.cargoSupplierFk"
                         hide-selected
                         dense
@@ -221,10 +222,21 @@ warehouses();
                     />
                 </QItemSection>
             </QItem>
+            <QItem>
+                <QItemSection>
+                    <VnSelectSupplier
+                        v-model="params.entrySupplierFk"
+                        hide-selected
+                        dense
+                        outlined
+                        rounded
+                    />
+                </QItemSection>
+            </QItem>
             <QItem>
                 <QItemSection>
                     <VnSelect
-                        :label="t('params.continent')"
+                        :label="t('extraCommunity.filter.continent')"
                         v-model="params.continent"
                         :options="continentsOptions"
                         option-value="code"
@@ -240,30 +252,3 @@ warehouses();
         </template>
     </VnFilterPanel>
 </template>
-
-<i18n>
-en:
-    params:
-        id: Id
-        reference: Reference
-        totalEntries: Total entries
-        agencyModeFk: Agency
-        warehouseInFk: Warehouse In
-        warehouseOutFk: Warehouse Out
-        shippedFrom: Shipped from
-        landedTo: Landed to
-        cargoSupplierFk: Supplier
-        continent: Continent out
-es:
-    params:
-        id: Id
-        reference: Referencia
-        totalEntries: Ent. totales
-        agencyModeFk: Agencia
-        warehouseInFk: Alm. entrada
-        warehouseOutFk: Alm. salida
-        shippedFrom: Llegada desde
-        landedTo: Llegada hasta
-        cargoSupplierFk: Proveedor
-        continent: Cont. Salida
-</i18n>
diff --git a/src/pages/Travel/TravelList.vue b/src/pages/Travel/TravelList.vue
index e90c01be237..b227afcb213 100644
--- a/src/pages/Travel/TravelList.vue
+++ b/src/pages/Travel/TravelList.vue
@@ -10,6 +10,9 @@ import { getDateQBadgeColor } from 'src/composables/getDateQBadgeColor.js';
 import TravelFilter from './TravelFilter.vue';
 import VnInputNumber from 'src/components/common/VnInputNumber.vue';
 import VnSection from 'src/components/common/VnSection.vue';
+import VnInputTime from 'src/components/common/VnInputTime.vue';
+import VnInputDate from 'src/components/common/VnInputDate.vue';
+import { toDateTimeFormat } from 'src/filters/date';
 
 const { viewSummary } = useSummaryDialog();
 const router = useRouter();
@@ -167,6 +170,17 @@ const columns = computed(() => [
         cardVisible: true,
         create: true,
     },
+    {
+        align: 'left',
+        name: 'availabled',
+        label: t('travel.summary.availabled'),
+        component: 'input',
+        columnClass: 'expand',
+        columnField: {
+            component: null,
+        },
+        format: (row, dashIfEmpty) => dashIfEmpty(toDateTimeFormat(row.availabled)),
+    },
     {
         align: 'right',
         label: '',
@@ -269,6 +283,16 @@ const columns = computed(() => [
                         :class="{ 'is-active': row.isReceived }"
                     />
                 </template>
+                <template #more-create-dialog="{ data }">
+                    <VnInputDate
+                        v-model="data.availabled"
+                        :label="t('travel.summary.availabled')"
+                    />
+                    <VnInputTime
+                        v-model="data.availabled"
+                        :label="t('travel.summary.availabledHour')"
+                    />
+                </template>
                 <template #moreFilterPanel="{ params }">
                     <VnInputNumber
                         :label="t('params.scopeDays')"
diff --git a/src/pages/Travel/locale/en.yml b/src/pages/Travel/locale/en.yml
new file mode 100644
index 00000000000..ddef66f2f07
--- /dev/null
+++ b/src/pages/Travel/locale/en.yml
@@ -0,0 +1,22 @@
+extraCommunity:
+    cargoShip: Cargo ship
+    searchExtraCommunity: Search for extra community shipping
+    kg: BI. KG
+    physicKg: Phy. KG
+    shipped: W. shipped
+    landed: W. landed
+    requiresInspection: Requires inspection
+    BIP: Boder Inspection Point
+    notes: Notes
+    filter:
+        id: Id
+        reference: Reference
+        totalEntries: Total entries
+        agencyModeFk: Agency
+        warehouseInFk: Warehouse In
+        warehouseOutFk: Warehouse Out
+        shippedFrom: Shipped from
+        landedTo: Landed to
+        cargoSupplierFk: Cargo supplier
+        continent: Continent out
+        entrySupplierFk: Supplier
diff --git a/src/pages/Travel/locale/es.yml b/src/pages/Travel/locale/es.yml
new file mode 100644
index 00000000000..1542d889266
--- /dev/null
+++ b/src/pages/Travel/locale/es.yml
@@ -0,0 +1,23 @@
+extraCommunity:
+    cargoShip: Carguera
+    searchExtraCommunity: Buscar por envรญo extra comunitario
+    kg: KG Bloq.
+    physicKg: KG fรญsico
+    shipped: F. envรญo
+    landed: F. llegada
+    notes: Notas
+    Open as PDF: Abrir como PDF
+    requiresInspection: Requiere inspecciรณn
+    BIP: Punto de Inspecciรณn Fronteriza
+    filter:
+        id: Id
+        reference: Referencia
+        totalEntries: Ent. totales
+        agencyModeFk: Agencia
+        warehouseInFk: Alm. entrada
+        warehouseOutFk: Alm. salida
+        shippedFrom: Llegada desde
+        landedTo: Llegada hasta
+        cargoSupplierFk: Carguera
+        continent: Cont. Salida
+        entrySupplierFk: Proveedor
diff --git a/src/pages/Worker/Card/WorkerDescriptorMenu.vue b/src/pages/Worker/Card/WorkerDescriptorMenu.vue
index 8d82dc839f7..0dcb4fd7115 100644
--- a/src/pages/Worker/Card/WorkerDescriptorMenu.vue
+++ b/src/pages/Worker/Card/WorkerDescriptorMenu.vue
@@ -53,7 +53,7 @@ const showChangePasswordDialog = () => {
         </QItemSection>
     </QItem>
     <QItem
-        v-if="!worker.user.emailVerified && user.id == worker.id"
+        v-if="!worker.user.emailVerified && user.id != worker.id"
         v-ripple
         clickable
         @click="showChangePasswordDialog"
diff --git a/src/pages/Worker/Card/WorkerFormation.vue b/src/pages/Worker/Card/WorkerFormation.vue
index e05eca7f8c5..e8680f7dd84 100644
--- a/src/pages/Worker/Card/WorkerFormation.vue
+++ b/src/pages/Worker/Card/WorkerFormation.vue
@@ -119,7 +119,7 @@ const columns = computed(() => [
         :url="`Workers/${entityId}/trainingCourse`"
         :url-create="`Workers/${entityId}/trainingCourse`"
         save-url="TrainingCourses/crud"
-        :filter="courseFilter"
+        :user-filter="courseFilter"
         :create="{
             urlCreate: 'trainingCourses',
             title: t('Create training course'),
diff --git a/src/pages/Worker/Card/WorkerMedical.vue b/src/pages/Worker/Card/WorkerMedical.vue
index c220df76a2c..c04f6496b9f 100644
--- a/src/pages/Worker/Card/WorkerMedical.vue
+++ b/src/pages/Worker/Card/WorkerMedical.vue
@@ -3,11 +3,23 @@ import { ref, computed } from 'vue';
 import { useI18n } from 'vue-i18n';
 import { useRoute } from 'vue-router';
 import VnTable from 'components/VnTable/VnTable.vue';
+import { dashIfEmpty } from 'src/filters';
 const tableRef = ref();
 const { t } = useI18n();
 const route = useRoute();
 const entityId = computed(() => route.params.id);
 
+const centerFilter = {
+    include: [
+        {
+            relation: 'center',
+            scope: {
+                fields: ['id', 'name'],
+            },
+        },
+    ],
+};
+
 const columns = [
     {
         align: 'left',
@@ -36,6 +48,9 @@ const columns = [
             url: 'medicalCenters',
             fields: ['id', 'name'],
         },
+        format: (row, dashIfEmpty) => {
+            return dashIfEmpty(row.center?.name);
+        },
     },
     {
         align: 'left',
@@ -84,6 +99,7 @@ const columns = [
         ref="tableRef"
         data-key="WorkerMedical"
         :url="`Workers/${entityId}/medicalReview`"
+        :user-filter="centerFilter"
         save-url="MedicalReviews/crud"
         :create="{
             urlCreate: 'medicalReviews',
diff --git a/src/pages/Worker/Card/WorkerPit.vue b/src/pages/Worker/Card/WorkerPit.vue
index 40e814452ea..3de60d6a0f7 100644
--- a/src/pages/Worker/Card/WorkerPit.vue
+++ b/src/pages/Worker/Card/WorkerPit.vue
@@ -176,6 +176,7 @@ const deleteRelative = async (id) => {
                                 :label="t('isDescendant')"
                                 v-model="row.isDescendant"
                                 class="q-gutter-xs q-mb-xs"
+                                data-cy="Descendant/Ascendant"
                             />
                             <VnSelect
                                 :label="t('disabilityGrades')"
diff --git a/src/pages/Zone/Card/ZoneBasicData.vue b/src/pages/Zone/Card/ZoneBasicData.vue
index 2e9b61deea2..03013f011b9 100644
--- a/src/pages/Zone/Card/ZoneBasicData.vue
+++ b/src/pages/Zone/Card/ZoneBasicData.vue
@@ -1,6 +1,6 @@
 <script setup>
 import { useI18n } from 'vue-i18n';
-import { computed, ref } from 'vue';
+import { ref } from 'vue';
 import FetchData from 'components/FetchData.vue';
 import FormModel from 'src/components/FormModel.vue';
 import VnRow from 'components/ui/VnRow.vue';
@@ -9,33 +9,23 @@ import VnInputTime from 'src/components/common/VnInputTime.vue';
 import VnSelect from 'src/components/common/VnSelect.vue';
 
 const { t } = useI18n();
-
-const agencyFilter = {
-    fields: ['id', 'name'],
-    order: 'name ASC',
-    limit: 30,
-};
-const agencyOptions = ref([]);
 const validAddresses = ref([]);
+const addresses = ref([]);
 
-const filterWhere = computed(() => ({
-    id: { inq: validAddresses.value.map((item) => item.addressFk) },
-}));
+const setFilteredAddresses = (data) => {
+    const validIds = new Set(validAddresses.value.map((item) => item.addressFk));
+    addresses.value = data.filter((address) => validIds.has(address.id));
+};
 </script>
 
 <template>
-    <FetchData
-        :filter="agencyFilter"
-        @on-fetch="(data) => (agencyOptions = data)"
-        auto-load
-        url="AgencyModes/isActive"
-    />
     <FetchData
         url="RoadmapAddresses"
         auto-load
         @on-fetch="(data) => (validAddresses = data)"
     />
-    <FormModel :url="`Zones/${$route.params.id}`" auto-load data-key="Zone">
+    <FetchData url="Addresses" auto-load @on-fetch="setFilteredAddresses" />
+    <FormModel auto-load model="Zone">
         <template #form="{ data, validate }">
             <VnRow>
                 <VnInput
@@ -43,9 +33,9 @@ const filterWhere = computed(() => ({
                     :label="t('Name')"
                     clearable
                     v-model="data.name"
+                    :required="true"
                 />
             </VnRow>
-
             <VnRow>
                 <VnSelect
                     v-model="data.agencyModeFk"
@@ -94,7 +84,7 @@ const filterWhere = computed(() => ({
                     type="number"
                     min="0"
                 />
-                <VnInputTime v-model="data.hour" :label="t('Closing')" />
+                <VnInputTime v-model="data.hour" :label="t('Closing')" :required="true" />
             </VnRow>
 
             <VnRow>
@@ -103,7 +93,7 @@ const filterWhere = computed(() => ({
                     :label="t('Price')"
                     type="number"
                     min="0"
-                    required="true"
+                    :required="true"
                     clearable
                 />
                 <VnInput
@@ -111,7 +101,7 @@ const filterWhere = computed(() => ({
                     :label="t('Price optimum')"
                     type="number"
                     min="0"
-                    required="true"
+                    :required="true"
                     clearable
                 />
             </VnRow>
@@ -128,7 +118,7 @@ const filterWhere = computed(() => ({
                     v-model="data.addressFk"
                     option-value="id"
                     option-label="nickname"
-                    url="Addresses"
+                    :options="addresses"
                     :fields="['id', 'nickname']"
                     sort-by="id"
                     hide-selected
diff --git a/src/pages/Zone/Card/ZoneCalendar.vue b/src/pages/Zone/Card/ZoneCalendar.vue
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/src/pages/Zone/ZoneFilterPanel.vue b/src/pages/Zone/ZoneFilterPanel.vue
index 3a35527ab6a..bbe12189a22 100644
--- a/src/pages/Zone/ZoneFilterPanel.vue
+++ b/src/pages/Zone/ZoneFilterPanel.vue
@@ -38,7 +38,12 @@ const agencies = ref([]);
         <template #body="{ params, searchFn }">
             <QItem>
                 <QItemSection>
-                    <VnInput :label="t('list.name')" v-model="params.name" is-outlined />
+                    <VnInput
+                        :label="t('list.name')"
+                        v-model="params.name"
+                        is-outlined
+                        data-cy="zoneFilterPanelNameInput"
+                    />
                 </QItemSection>
             </QItem>
             <QItem>
@@ -53,6 +58,7 @@ const agencies = ref([]);
                         dense
                         outlined
                         rounded
+                        data-cy="zoneFilterPanelAgencySelect"
                     >
                     </VnSelect>
                 </QItemSection>
diff --git a/src/pages/Zone/ZoneList.vue b/src/pages/Zone/ZoneList.vue
index 1fa539c9107..a82bbb28540 100644
--- a/src/pages/Zone/ZoneList.vue
+++ b/src/pages/Zone/ZoneList.vue
@@ -65,7 +65,6 @@ const tableFilter = {
 
 const columns = computed(() => [
     {
-        align: 'left',
         name: 'id',
         label: t('list.id'),
         chip: {
@@ -75,6 +74,8 @@ const columns = computed(() => [
         columnFilter: {
             inWhere: true,
         },
+        columnClass: 'shrink-column',
+        component: 'number',
     },
     {
         align: 'left',
@@ -106,7 +107,6 @@ const columns = computed(() => [
         format: (row, dashIfEmpty) => dashIfEmpty(row?.agencyMode?.name),
     },
     {
-        align: 'left',
         name: 'price',
         label: t('list.price'),
         cardVisible: true,
@@ -114,9 +114,11 @@ const columns = computed(() => [
         columnFilter: {
             inWhere: true,
         },
+        columnClass: 'shrink-column',
+        component: 'number',
     },
     {
-        align: 'left',
+        align: 'center',
         name: 'hour',
         label: t('list.close'),
         cardVisible: true,
@@ -129,6 +131,7 @@ const columns = computed(() => [
         label: t('list.addressFk'),
         cardVisible: true,
         columnFilter: false,
+        columnClass: 'expand',
     },
     {
         align: 'right',
@@ -177,67 +180,73 @@ function formatRow(row) {
             <ZoneFilterPanel data-key="ZonesList" />
         </template>
     </RightMenu>
-    <VnTable
-        ref="tableRef"
-        data-key="ZonesList"
-        url="Zones"
-        :create="{
-            urlCreate: 'Zones',
-            title: t('list.createZone'),
-            onDataSaved: ({ id }) => tableRef.redirect(`${id}/location`),
-            formInitialData: {},
-        }"
-        :user-filter="tableFilter"
-        :columns="columns"
-        redirect="zone"
-        :right-search="false"
-    >
-        <template #column-addressFk="{ row }">
-            {{ dashIfEmpty(formatRow(row)) }}
-        </template>
-        <template #more-create-dialog="{ data }">
-            <VnSelect
-                url="AgencyModes"
-                v-model="data.agencyModeFk"
-                option-value="id"
-                option-label="name"
-                :label="t('list.agency')"
-            />
-            <VnInput
-                v-model="data.price"
-                :label="t('list.price')"
-                min="0"
-                type="number"
-                required="true"
-            />
-            <VnInput
-                v-model="data.bonus"
-                :label="t('zone.bonus')"
-                min="0"
-                type="number"
-            />
-            <VnInput
-                v-model="data.travelingDays"
-                :label="t('zone.travelingDays')"
-                type="number"
-                min="0"
-            />
-            <VnInputTime v-model="data.hour" :label="t('list.close')" />
-            <VnSelect
-                url="Warehouses"
-                v-model="data.warehouseFK"
-                option-value="id"
-                option-label="name"
-                :label="t('list.warehouse')"
-                :options="warehouseOptions"
-            />
-            <QCheckbox
-                v-model="data.isVolumetric"
-                :label="t('list.isVolumetric')"
-                :toggle-indeterminate="false"
-            />
-        </template>
-    </VnTable>
+    <div class="table-container">
+        <div class="column items-center">
+            <VnTable
+                ref="tableRef"
+                data-key="ZonesList"
+                url="Zones"
+                :create="{
+                    urlCreate: 'Zones',
+                    title: t('list.createZone'),
+                    onDataSaved: ({ id }) => tableRef.redirect(`${id}/location`),
+                    formInitialData: {},
+                }"
+                :user-filter="tableFilter"
+                :columns="columns"
+                redirect="zone"
+                :right-search="false"
+                table-height="85vh"
+                order="id ASC"
+            >
+                <template #column-addressFk="{ row }">
+                    {{ dashIfEmpty(formatRow(row)) }}
+                </template>
+                <template #more-create-dialog="{ data }">
+                    <VnSelect
+                        url="AgencyModes"
+                        v-model="data.agencyModeFk"
+                        option-value="id"
+                        option-label="name"
+                        :label="t('list.agency')"
+                    />
+                    <VnInput
+                        v-model="data.price"
+                        :label="t('list.price')"
+                        min="0"
+                        type="number"
+                        required="true"
+                    />
+                    <VnInput
+                        v-model="data.bonus"
+                        :label="t('zone.bonus')"
+                        min="0"
+                        type="number"
+                    />
+                    <VnInput
+                        v-model="data.travelingDays"
+                        :label="t('zone.travelingDays')"
+                        type="number"
+                        min="0"
+                    />
+                    <VnInputTime v-model="data.hour" :label="t('list.close')" />
+                    <VnSelect
+                        url="Warehouses"
+                        v-model="data.warehouseFK"
+                        option-value="id"
+                        option-label="name"
+                        :label="t('list.warehouse')"
+                        :options="warehouseOptions"
+                    />
+                    <QCheckbox
+                        v-model="data.isVolumetric"
+                        :label="t('list.isVolumetric')"
+                        :toggle-indeterminate="false"
+                    />
+                </template>
+            </VnTable>
+        </div>
+    </div>
 </template>
 
 <i18n>
@@ -245,3 +254,20 @@ es:
     Search zone: Buscar zona
     You can search zones by id or name: Puedes buscar zonas por id o nombre
 </i18n>
+
+<style lang="scss" scoped>
+.table-container {
+    display: flex;
+    justify-content: center;
+}
+.column {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    min-width: 70%;
+}
+
+:deep(.shrink-column) {
+    width: 8%;
+}
+</style>
diff --git a/src/pages/Zone/ZoneUpcoming.vue b/src/pages/Zone/ZoneUpcoming.vue
index c74ae6078f6..adcdfbc0447 100644
--- a/src/pages/Zone/ZoneUpcoming.vue
+++ b/src/pages/Zone/ZoneUpcoming.vue
@@ -56,7 +56,7 @@ onMounted(() => weekdayStore.initStore());
     <ZoneSearchbar />
     <VnSubToolbar />
     <QPage class="column items-center q-pa-md">
-        <QCard class="full-width q-pa-md">
+        <QCard class="containerShrinked q-pa-md">
             <div
                 v-for="(detail, index) in details"
                 :key="index"
diff --git a/src/pages/Zone/locale/en.yml b/src/pages/Zone/locale/en.yml
index 5fd1a3ea752..e53e7b560af 100644
--- a/src/pages/Zone/locale/en.yml
+++ b/src/pages/Zone/locale/en.yml
@@ -44,6 +44,8 @@ summary:
 filterPanel:
     name: Name
     agencyModeFk: Agency
+    id: ID
+    price: Price
 deliveryPanel:
     pickup: Pick up
     delivery: Delivery
diff --git a/src/pages/Zone/locale/es.yml b/src/pages/Zone/locale/es.yml
index 575b12f7af9..bc31e74a957 100644
--- a/src/pages/Zone/locale/es.yml
+++ b/src/pages/Zone/locale/es.yml
@@ -45,6 +45,8 @@ summary:
 filterPanel:
     name: Nombre
     agencyModeFk: Agencia
+    id: ID
+    price: Precio
 deliveryPanel:
     pickup: Recogida
     delivery: Entrega
diff --git a/test/cypress/integration/Order/orderCatalog.spec.js b/test/cypress/integration/Order/orderCatalog.spec.js
index cffc47f9150..1770a6b56e9 100644
--- a/test/cypress/integration/Order/orderCatalog.spec.js
+++ b/test/cypress/integration/Order/orderCatalog.spec.js
@@ -45,7 +45,6 @@ describe('OrderCatalog', () => {
         ).type('{enter}');
         cy.get(':nth-child(1) > [data-cy="catalogFilterCategory"]').click();
         cy.dataCy('catalogFilterValueDialogBtn').last().click();
-        cy.get('[data-cy="catalogFilterValueDialogTagSelect"]').click();
         cy.selectOption("[data-cy='catalogFilterValueDialogTagSelect']", 'Tallos');
         cy.dataCy('catalogFilterValueDialogValueInput').find('input').focus();
         cy.dataCy('catalogFilterValueDialogValueInput').find('input').type('2');
diff --git a/test/cypress/integration/client/clientAddress.spec.js b/test/cypress/integration/client/clientAddress.spec.js
index db876b64bb4..434180047eb 100644
--- a/test/cypress/integration/client/clientAddress.spec.js
+++ b/test/cypress/integration/client/clientAddress.spec.js
@@ -3,11 +3,46 @@ describe('Client consignee', () => {
     beforeEach(() => {
         cy.viewport(1280, 720);
         cy.login('developer');
-        cy.visit('#/customer/1110/address', {
-            timeout: 5000,
-        });
+        cy.visit('#/customer/1107/address');
+        cy.domContentLoad();
     });
     it('Should load layout', () => {
         cy.get('.q-card').should('be.visible');
     });
+
+    it('check as equalizated', function () {
+        cy.get('.q-card__section > .address-card').then(($el) => {
+            let addressCards_before = $el.length;
+
+            cy.get('.q-page-sticky > div > .q-btn').click();
+            const addressName = 'test';
+            cy.dataCy('Consignee_input').type(addressName);
+            cy.dataCy('Location_select').click();
+            cy.get('[role="listbox"] .q-item:nth-child(1)').click();
+            cy.dataCy('Street address_input').type('TEST ADDRESS');
+            cy.get('.q-btn-group > .q-btn--standard').click();
+            cy.location('href').should('contain', '#/customer/1107/address');
+            cy.get('.q-card__section > .address-card').should(
+                'have.length',
+                addressCards_before + 1,
+            );
+            cy.get('.q-card__section > .address-card')
+                .eq(addressCards_before)
+                .should('be.visible')
+                .get('.text-weight-bold')
+                .eq(addressCards_before - 1)
+                .should('contain', addressName)
+                .click();
+        });
+        cy.get(
+            '.q-card > :nth-child(1) > :nth-child(2) > .q-checkbox > .q-checkbox__inner',
+        )
+            .should('have.class', 'q-checkbox__inner--falsy')
+            .click();
+
+        cy.get('.q-btn-group > .q-btn--standard > .q-btn__content').click();
+        cy.get(
+            ':nth-child(2) > :nth-child(2) > .flex > .q-mr-lg > .q-checkbox__inner',
+        ).should('have.class', 'q-checkbox__inner--truthy');
+    });
 });
diff --git a/test/cypress/integration/client/clientFiscalData.spec.js b/test/cypress/integration/client/clientFiscalData.spec.js
index 05e0772e920..d189f896aec 100644
--- a/test/cypress/integration/client/clientFiscalData.spec.js
+++ b/test/cypress/integration/client/clientFiscalData.spec.js
@@ -3,9 +3,8 @@ describe('Client fiscal data', () => {
     beforeEach(() => {
         cy.viewport(1280, 720);
         cy.login('developer');
-        cy.visit('#/customer/1107/fiscal-data', {
-            timeout: 5000,
-        });
+        cy.visit('#/customer/1107/fiscal-data');
+        cy.domContentLoad();
     });
     it('Should change required value when change customer', () => {
         cy.get('.q-card').should('be.visible');
@@ -15,4 +14,25 @@ describe('Client fiscal data', () => {
         cy.get('.q-item > .q-item__label').should('have.text', ' #1');
         cy.dataCy('sageTaxTypeFk').filter('input').should('have.attr', 'required');
     });
+
+    it('check as equalizated', () => {
+        cy.get(
+            ':nth-child(1) > .q-checkbox > .q-checkbox__inner > .q-checkbox__bg',
+        ).click();
+        cy.get('.q-btn-group > .q-btn--standard > .q-btn__content').click();
+
+        cy.get('.q-card > :nth-child(1) > span').should(
+            'contain',
+            'You changed the equalization tax',
+        );
+
+        cy.get('.q-card > :nth-child(2) > span').should(
+            'have.text',
+            'Do you want to spread the change?',
+        );
+        cy.get('[data-cy="VnConfirm_confirm"] > .q-btn__content > .block').click();
+        cy.get(
+            '.bg-warning > .q-notification__wrapper > .q-notification__content > .q-notification__message',
+        ).should('have.text', 'Equivalent tax spreaded');
+    });
 });
diff --git a/test/cypress/integration/entry/entryList.spec.js b/test/cypress/integration/entry/entryList.spec.js
index 5e2fa0c0156..4f99f0cb6f1 100644
--- a/test/cypress/integration/entry/entryList.spec.js
+++ b/test/cypress/integration/entry/entryList.spec.js
@@ -106,8 +106,9 @@ describe('Entry', () => {
             cy.get(`td[data-col-field="${field}"][data-row-index="${row}"]`);
         const selectSpan = (field, row = 0) => selectCell(field, row).find('div > span');
         const selectButton = (cySelector) => cy.get(`button[data-cy="${cySelector}"]`);
-        const clickAndType = (field, value, row = 0) =>
-            selectCell(field, row).click().type(value);
+        const clickAndType = (field, value, row = 0) => {
+            selectCell(field, row).click().type(`${value}{esc}`);
+        };
         const checkText = (field, expectedText, row = 0) =>
             selectCell(field, row).should('have.text', expectedText);
         const checkColor = (field, expectedColor, row = 0) =>
@@ -115,21 +116,18 @@ describe('Entry', () => {
 
         createEntryAndBuy();
 
-        selectCell('isIgnored')
-            .click()
-            .click()
-            .trigger('keydown', { key: 'Tab', keyCode: 9, which: 9 });
-        checkText('isIgnored', 'check');
-        checkColor('quantity', COLORS.negative);
+        selectCell('isIgnored').click().click().type('{esc}');
+        checkText('isIgnored', 'close');
 
         clickAndType('stickers', '1');
-        checkText('quantity', '11');
-        checkText('amount', '550.00');
+        checkText('stickers', '0/01');
+        checkText('quantity', '1');
+        checkText('amount', '50.00');
         clickAndType('packing', '2');
-        checkText('packing', '12close');
+        checkText('packing', '12');
         checkText('weight', '12.0');
-        checkText('quantity', '132');
-        checkText('amount', '6600.00');
+        checkText('quantity', '12');
+        checkText('amount', '600.00');
         checkColor('packing', COLORS.enabled);
 
         selectCell('groupingMode').click().click().click();
@@ -137,7 +135,7 @@ describe('Entry', () => {
         checkColor('grouping', COLORS.enabled);
 
         selectCell('buyingValue').click().clear().type('{backspace}{backspace}1');
-        checkText('amount', '132.00');
+        checkText('amount', '12.00');
         checkColor('minPrice', COLORS.disable);
 
         selectCell('hasMinPrice').click().click();
@@ -145,7 +143,7 @@ describe('Entry', () => {
         selectCell('hasMinPrice').click();
 
         cy.saveCard();
-        cy.get('span[data-cy="footer-stickers"]').should('have.text', '11');
+        cy.get('span[data-cy="footer-stickers"]').should('have.text', '1');
         cy.get('.q-notification__message').contains('Data saved');
 
         selectButton('change-quantity-sign').should('be.disabled');
@@ -156,9 +154,9 @@ describe('Entry', () => {
 
         selectButton('change-quantity-sign').click();
         selectButton('set-negative-quantity').click();
-        checkText('quantity', '-132');
+        checkText('quantity', '-12');
         selectButton('set-positive-quantity').click();
-        checkText('quantity', '132');
+        checkText('quantity', '12');
         checkColor('amount', COLORS.disable);
 
         selectButton('check-buy-amount').click();
diff --git a/test/cypress/integration/entry/myEntry.spec.js b/test/cypress/integration/entry/myEntry.spec.js
index 49d75cf3924..ed469d9e2e5 100644
--- a/test/cypress/integration/entry/myEntry.spec.js
+++ b/test/cypress/integration/entry/myEntry.spec.js
@@ -8,11 +8,9 @@ describe('EntryMy when is supplier', () => {
             },
         });
     });
-    
+
     it('should open buyLabel when is supplier', () => {
-        cy.get(
-            '[to="/null/3"] > .q-card > :nth-child(2) > .q-btn > .q-btn__content > .q-icon'
-        ).click();
+        cy.dataCy('cardBtn').eq(2).click();
         cy.dataCy('printLabelsBtn').click();
         cy.window().its('open').should('be.called');
     });
diff --git a/test/cypress/integration/entry/stockBought.spec.js b/test/cypress/integration/entry/stockBought.spec.js
index d2d2b414de5..bc36156b4e4 100644
--- a/test/cypress/integration/entry/stockBought.spec.js
+++ b/test/cypress/integration/entry/stockBought.spec.js
@@ -6,7 +6,7 @@ describe('EntryStockBought', () => {
     });
     it('Should edit the reserved space', () => {
         cy.get('.q-field__native.q-placeholder').should('have.value', '01/01/2001');
-        cy.get('td[data-col-field="reserve"]').click();
+        cy.get('[data-col-field="reserve"][data-row-index="0"]').click();
         cy.get('input[name="reserve"]').type('10{enter}');
         cy.get('button[title="Save"]').click();
         cy.get('.q-notification__message').should('have.text', 'Data saved');
@@ -16,25 +16,35 @@ describe('EntryStockBought', () => {
         cy.get('input[aria-label="Reserve"]').type('1');
         cy.get('input[aria-label="Date"]').eq(1).clear();
         cy.get('input[aria-label="Date"]').eq(1).type('01-01');
-        cy.get('input[aria-label="Buyer"]').type('buyerboss{downarrow}{enter}');
+        cy.get('input[aria-label="Buyer"]').type('buyerBossNick');
+        cy.get('div[role="listbox"] > div > div[role="option"]')
+            .eq(0)
+            .should('be.visible')
+            .click();
+
+        cy.get('[data-cy="FormModelPopup_save"]').click();
         cy.get('.q-notification__message').should('have.text', 'Data created');
+
+        cy.get('[data-col-field="reserve"][data-row-index="1"]').click().clear();
+        cy.get('[data-cy="searchBtn"]').eq(1).click();
+        cy.get('.q-table__bottom.row.items-center.q-table__bottom--nodata')
+            .should('have.text', 'warningNo data available')
+            .type('{esc}');
+        cy.get('[data-col-field="reserve"][data-row-index="1"]')
+            .click()
+            .type('{backspace}{enter}');
+        cy.get('[data-cy="crudModelDefaultSaveBtn"]').should('be.enabled').click();
+        cy.get('.q-notification__message').eq(1).should('have.text', 'Data saved');
     });
     it('Should check detail for the buyer', () => {
-        cy.get(':nth-child(1) > .sticky > .q-btn > .q-btn__content > .q-icon').click();
+        cy.get('[data-cy="searchBtn"]').eq(0).click();
         cy.get('tBody > tr').eq(1).its('length').should('eq', 1);
     });
-    it('Should check detail for the buyerBoss and had no content', () => {
-        cy.get(':nth-child(2) > .sticky > .q-btn > .q-btn__content > .q-icon').click();
-        cy.get('.q-table__bottom.row.items-center.q-table__bottom--nodata').should(
-            'have.text',
-            'warningNo data available',
-        );
-    });
+
     it('Should edit travel m3 and refresh', () => {
-        cy.get('.vn-row > div > .q-btn > .q-btn__content > .q-icon').click();
-        cy.get('input[aria-label="m3"]').clear();
-        cy.get('input[aria-label="m3"]').type('60');
-        cy.get('.q-mt-lg > .q-btn--standard > .q-btn__content > .block').click();
+        cy.get('[data-cy="edit-travel"]').should('be.visible').click();
+        cy.get('input[aria-label="m3"]').clear().type('60');
+        cy.get('[data-cy="FormModelPopup_save"]').click();
         cy.get('.vn-row > div > :nth-child(2)').should('have.text', '60');
     });
 });
diff --git a/test/cypress/integration/invoiceIn/invoiceInVat.spec.js b/test/cypress/integration/invoiceIn/invoiceInVat.spec.js
index f8b403a458f..1e7ce1003b7 100644
--- a/test/cypress/integration/invoiceIn/invoiceInVat.spec.js
+++ b/test/cypress/integration/invoiceIn/invoiceInVat.spec.js
@@ -36,7 +36,7 @@ describe('InvoiceInVat', () => {
         cy.get(dialogInputs).eq(0).type(randomInt);
         cy.get(dialogInputs).eq(1).type('This is a dummy expense');
 
-        cy.get('button[type="submit"]').click();
+        cy.get('[data-cy="FormModelPopup_save"]').click();
         cy.get('.q-notification__message').should('have.text', 'Data created');
     });
 });
diff --git a/test/cypress/integration/invoiceOut/invoiceOutList.spec.js b/test/cypress/integration/invoiceOut/invoiceOutList.spec.js
index 82f0fa3b631..d3a84d226b4 100644
--- a/test/cypress/integration/invoiceOut/invoiceOutList.spec.js
+++ b/test/cypress/integration/invoiceOut/invoiceOutList.spec.js
@@ -1,6 +1,16 @@
 /// <reference types="cypress" />
 describe('InvoiceOut list', () => {
     const serial = 'Espaรฑola rapida';
+    const columnCheckbox =
+        '.bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner';
+    const firstRowDescriptor =
+        'tbody > :nth-child(1) > [data-col-field="clientFk"] > .no-padding > .link';
+    const firstRowCheckbox =
+        'tbody > :nth-child(1) > :nth-child(1) > .q-checkbox > .q-checkbox__inner ';
+    const summaryPopupIcon = '.header > :nth-child(2) > .q-btn__content > .q-icon';
+    const filterBtn = '.q-scrollarea__content > .q-btn--standard > .q-btn__content';
+    const firstSummaryIcon =
+        ':nth-child(1) > .text-right > [data-cy="tableAction-0"] > .q-btn__content > .q-icon';
 
     beforeEach(() => {
         cy.viewport(1920, 1080);
@@ -9,18 +19,32 @@ describe('InvoiceOut list', () => {
         cy.typeSearchbar('{enter}');
     });
 
-    it('should search and filter an invoice and enter to the summary', () => {
-        cy.typeSearchbar('1{enter}');
-        cy.get('.q-virtual-scroll__content > :nth-child(2) > :nth-child(7)').click();
-        cy.get('.header > a.q-btn > .q-btn__content').click();
-        cy.typeSearchbar('{enter}');
-        cy.dataCy('InvoiceOutFilterAmountBtn').find('input').type('8.88{enter}');
+    it('should download one pdf from the subtoolbar button', () => {
+        cy.get(firstRowCheckbox).click();
+        cy.dataCy('InvoiceOutDownloadPdfBtn').click();
     });
 
     it('should download all pdfs', () => {
-        cy.get('.bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner').click();
+        cy.get(columnCheckbox).click();
         cy.dataCy('InvoiceOutDownloadPdfBtn').click();
-        cy.get('.bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner').click();
+    });
+
+    it('should open the invoice descriptor from table icon', () => {
+        cy.get(firstSummaryIcon).click();
+        cy.get('.cardSummary').should('be.visible');
+        cy.get('.summaryHeader > div').should('include.text', 'A1111111');
+    });
+
+    it('should open the client descriptor', () => {
+        cy.get(firstRowDescriptor).click();
+        cy.get(summaryPopupIcon).click();
+    });
+
+    it('should filter the results by client ID, then check the first result is correct', () => {
+        cy.dataCy('Customer ID_input').type('1103');
+        cy.get(filterBtn).click();
+        cy.get(firstRowDescriptor).click();
+        cy.get('.q-item > .q-item__label').should('include.text', '1103');
     });
 
     it('should give an error when manual invoicing a ticket that is already invoiced', () => {
@@ -31,11 +55,14 @@ describe('InvoiceOut list', () => {
         cy.checkNotification('This ticket is already invoiced');
     });
 
-    it('should create a manual invoice and enter to its summary', () => {
+    it('should create a manual invoice and enter to its summary, then delete that invoice', () => {
         cy.dataCy('vnTableCreateBtn').click();
-        cy.dataCy('InvoiceOutCreateTicketinput').type(8);
+        cy.dataCy('InvoiceOutCreateTicketinput').type(9);
         cy.selectOption('[data-cy="InvoiceOutCreateSerialSelect"]', serial);
         cy.dataCy('FormModelPopup_save').click();
         cy.checkNotification('Data created');
+        cy.dataCy('descriptor-more-opts').click();
+        cy.get('.q-menu > .q-list > :nth-child(4)').click();
+        cy.dataCy('VnConfirm_confirm').click();
     });
 });
diff --git a/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js b/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js
index 02b7fbb43ce..4d530de05fe 100644
--- a/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js
+++ b/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js
@@ -1,11 +1,26 @@
 /// <reference types="cypress" />
 describe('InvoiceOut negative bases', () => {
+    const getDescriptors = (opt) =>
+        `:nth-child(1) > [data-col-field="${opt}"] > .no-padding > .link`;
+
     beforeEach(() => {
         cy.viewport(1920, 1080);
         cy.login('developer');
         cy.visit(`/#/invoice-out/negative-bases`);
     });
 
+    it('should open the posible descriptors', () => {
+        cy.get(getDescriptors('clientId')).click();
+        cy.get('.descriptor').should('be.visible');
+        cy.get('.q-item > .q-item__label').should('include.text', '1101');
+        cy.get(getDescriptors('ticketFk')).click();
+        cy.get('.descriptor').should('be.visible');
+        cy.get('.q-item > .q-item__label').should('include.text', '23');
+        cy.get(getDescriptors('workerName')).click();
+        cy.get('.descriptor').should('be.visible');
+        cy.get('.q-item > .q-item__label').should('include.text', '18');
+    });
+
     it('should filter and download as CSV', () => {
         cy.get('input[name="ticketFk"]').type('23{enter}');
         cy.get('#subToolbar > .q-btn').click();
diff --git a/test/cypress/integration/invoiceOut/invoiceOutSummary.spec.js b/test/cypress/integration/invoiceOut/invoiceOutSummary.spec.js
index 44b0a996180..333f7e2c482 100644
--- a/test/cypress/integration/invoiceOut/invoiceOutSummary.spec.js
+++ b/test/cypress/integration/invoiceOut/invoiceOutSummary.spec.js
@@ -5,40 +5,91 @@ describe('InvoiceOut summary', () => {
         Type: { val: 'Error in customer data', type: 'select' },
     };
 
+    const firstRowDescriptors = (opt) =>
+        `tbody > :nth-child(1) > :nth-child(${opt}) > .q-btn`;
+    const toCustomerSummary = '[href="#/customer/1101"]';
+    const toTicketList = '[href="#/ticket/list?table={%22refFk%22:%22T1111111%22}"]';
+    const selectMenuOption = (opt) => `.q-menu > .q-list > :nth-child(${opt})`;
+    const confirmSend = '.q-btn--unelevated';
+
     beforeEach(() => {
         cy.viewport(1920, 1080);
         cy.login('developer');
-        cy.visit(`/#/invoice-out/list`);
+        cy.visit(`/#/invoice-out/1/summary`);
     });
 
-    it('should generate the invoice PDF', () => {
-        cy.typeSearchbar('T1111111{enter}');
-        cy.dataCy('descriptor-more-opts').click();
-        cy.get('.q-menu > .q-list > :nth-child(6)').click();
-        cy.dataCy('VnConfirm_confirm').click();
-        cy.checkNotification('The invoice PDF document has been regenerated');
+    it('open the descriptors', () => {
+        cy.get(firstRowDescriptors(1)).click();
+        cy.get('.descriptor').should('be.visible');
+        cy.get('.q-item > .q-item__label').should('include.text', '1');
+        cy.get(firstRowDescriptors(2)).click();
+        cy.get('.descriptor').should('be.visible');
+        cy.get('.q-item > .q-item__label').should('include.text', '1101');
     });
-    it('should refund the invoice ', () => {
+
+    it('should open the client summary and the ticket list', () => {
+        cy.get(toCustomerSummary).click();
+        cy.get('.descriptor').should('be.visible');
+        cy.get('.q-item > .q-item__label').should('include.text', '1101');
+    });
+
+    it('should open the ticket list', () => {
+        cy.get(toTicketList).click();
+        cy.get('.descriptor').should('be.visible');
+        cy.dataCy('vnFilterPanelChip').should('include.text', 'T1111111');
+    });
+
+    it('should transfer the invoice ', () => {
         cy.typeSearchbar('T1111111{enter}');
         cy.dataCy('descriptor-more-opts').click();
-        cy.get('.q-menu > .q-list > :nth-child(7)').click();
-        cy.get('#q-portal--menu--3 > .q-menu > .q-list > :nth-child(2)').click();
-        cy.checkNotification('The following refund ticket have been created');
+        cy.get(selectMenuOption(1)).click();
+        cy.fillInForm(transferInvoice);
+        cy.get('.q-mt-lg > .q-btn').click();
+        cy.checkNotification('Transferred invoice');
+    });
+
+    it('should send the invoice as PDF', () => {
+        cy.dataCy('descriptor-more-opts').click();
+        cy.get(selectMenuOption(3)).click();
+        cy.dataCy('InvoiceOutDescriptorMenuSendPdfOption').click();
+        cy.get(confirmSend).click();
+        cy.checkNotification('Notification sent');
+    });
+
+    it('should send the invoice as CSV', () => {
+        cy.dataCy('descriptor-more-opts').click();
+        cy.get(selectMenuOption(3)).click();
+        cy.dataCy('InvoiceOutDescriptorMenuSendCsvOption').click();
+        cy.get(confirmSend).click();
+        cy.checkNotification('Notification sent');
     });
 
     it('should delete an invoice ', () => {
         cy.typeSearchbar('T2222222{enter}');
         cy.dataCy('descriptor-more-opts').click();
-        cy.get('.q-menu > .q-list > :nth-child(4)').click();
+        cy.get(selectMenuOption(4)).click();
         cy.dataCy('VnConfirm_confirm').click();
         cy.checkNotification('InvoiceOut deleted');
     });
-    it('should transfer the invoice ', () => {
-        cy.typeSearchbar('T1111111{enter}');
+
+    it('should book the invoice', () => {
         cy.dataCy('descriptor-more-opts').click();
-        cy.get('.q-menu > .q-list > :nth-child(1)').click();
-        cy.fillInForm(transferInvoice);
-        cy.get('.q-mt-lg > .q-btn').click();
-        cy.checkNotification('Transferred invoice');
+        cy.get(selectMenuOption(5)).click();
+        cy.dataCy('VnConfirm_confirm').click();
+        cy.checkNotification('InvoiceOut booked');
+    });
+
+    it('should generate the invoice PDF', () => {
+        cy.dataCy('descriptor-more-opts').click();
+        cy.get(selectMenuOption(6)).click();
+        cy.dataCy('VnConfirm_confirm').click();
+        cy.checkNotification('The invoice PDF document has been regenerated');
+    });
+
+    it('should refund the invoice ', () => {
+        cy.dataCy('descriptor-more-opts').click();
+        cy.get(selectMenuOption(7)).click();
+        cy.get('#q-portal--menu--3 > .q-menu > .q-list > :nth-child(2)').click();
+        cy.checkNotification('The following refund ticket have been created');
     });
 });
diff --git a/test/cypress/integration/route/routeExtendedList.spec.js b/test/cypress/integration/route/routeExtendedList.spec.js
new file mode 100644
index 00000000000..34d3d3a29f0
--- /dev/null
+++ b/test/cypress/integration/route/routeExtendedList.spec.js
@@ -0,0 +1,205 @@
+describe('Route extended list', () => {
+    const getSelector = (colField) => `tr:last-child > [data-col-field="${colField}"]`;
+
+    const selectors = {
+        worker: getSelector('workerFk'),
+        agency: getSelector('agencyModeFk'),
+        vehicle: getSelector('vehicleFk'),
+        date: getSelector('dated'),
+        description: getSelector('description'),
+        served: getSelector('isOk'),
+        lastRowSelectCheckBox: 'tbody > tr:last-child > :nth-child(1) .q-checkbox__inner',
+        removeBtn: '[title="Remove"]',
+        resetBtn: '[title="Reset"]',
+        confirmBtn: 'VnConfirm_confirm',
+        saveBtn: 'crudModelDefaultSaveBtn',
+        saveFormBtn: 'FormModelPopup_save',
+        cloneBtn: '#st-actions > .q-btn-group > :nth-child(1)',
+        downloadBtn: '#st-actions > .q-btn-group > :nth-child(2)',
+        markServedBtn: '#st-actions > .q-btn-group > :nth-child(3)',
+        searchbar: 'searchbar',
+        firstTicketsRowSelectCheckBox:
+            '.q-card > :nth-child(2) > .q-table__container > .q-table__middle > .q-table > tbody > :nth-child(1) > .q-table--col-auto-width > .q-checkbox > .q-checkbox__inner > .q-checkbox__bg > .q-checkbox__svg',
+    };
+
+    const checkboxState = {
+        check: 'check',
+        uncheck: 'close',
+    };
+    const url = '/#/route/extended-list';
+    const dataCreated = 'Data created';
+    const dataSaved = 'Data saved';
+
+    const originalFields = [
+        { selector: selectors.worker, type: 'select', value: 'logistic' },
+        { selector: selectors.agency, type: 'select', value: 'Super-Man delivery' },
+        { selector: selectors.vehicle, type: 'select', value: '3333-IMK' },
+        { selector: selectors.date, type: 'date', value: '01/02/2024' },
+        { selector: selectors.description, type: 'input', value: 'Test route' },
+        { selector: selectors.served, type: 'checkbox', value: checkboxState.uncheck },
+    ];
+
+    const updateFields = [
+        { selector: selectors.worker, type: 'select', value: 'salesperson' },
+        { selector: selectors.agency, type: 'select', value: 'inhouse pickup' },
+        { selector: selectors.vehicle, type: 'select', value: '1111-IMK' },
+        { selector: selectors.date, type: 'date', value: '01/01/2001' },
+        { selector: selectors.description, type: 'input', value: 'Description updated' },
+        { selector: selectors.served, type: 'checkbox', value: checkboxState.check },
+    ];
+
+    function fillField(selector, type, value) {
+        switch (type) {
+            case 'select':
+                cy.get(selector).should('be.visible').click();
+                cy.dataCy('null_select').clear().type(value);
+                cy.get('.q-item').contains(value).click();
+                break;
+            case 'input':
+                cy.get(selector).should('be.visible').click();
+                cy.dataCy('null_input').clear().type(`${value}{enter}`);
+                break;
+            case 'date':
+                cy.get(selector).should('be.visible').click();
+                cy.dataCy('null_inputDate').clear().type(`${value}{enter}`);
+                break;
+            case 'checkbox':
+                cy.get(selector).should('be.visible').click().click();
+                break;
+        }
+    }
+
+    beforeEach(() => {
+        cy.viewport(1920, 1080);
+        cy.login('developer');
+        cy.visit(url);
+        cy.typeSearchbar('{enter}');
+    });
+
+    after(() => {
+        cy.visit(url);
+        cy.typeSearchbar('{enter}');
+        cy.get(selectors.lastRowSelectCheckBox).click();
+
+        cy.get(selectors.removeBtn).click();
+        cy.dataCy(selectors.confirmBtn).click();
+    });
+
+    it('Should list routes', () => {
+        cy.get('.q-table')
+            .children()
+            .should('be.visible')
+            .should('have.length.greaterThan', 0);
+    });
+
+    it('Should create new route', () => {
+        cy.addBtnClick();
+
+        const data = {
+            Worker: { val: 'logistic', type: 'select' },
+            Agency: { val: 'Super-Man delivery', type: 'select' },
+            Vehicle: { val: '3333-IMK', type: 'select' },
+            Date: { val: '02-01-2024', type: 'date' },
+            From: { val: '01-01-2024', type: 'date' },
+            To: { val: '10-01-2024', type: 'date' },
+            'Km start': { val: 1000 },
+            'Km end': { val: 1200 },
+            Description: { val: 'Test route' },
+        };
+
+        cy.fillInForm(data);
+
+        cy.dataCy(selectors.saveFormBtn).click();
+        cy.checkNotification(dataCreated);
+        cy.url().should('include', '/summary');
+    });
+
+    it('Should reset changed values when click reset button', () => {
+        updateFields.forEach(({ selector, type, value }) => {
+            fillField(selector, type, value);
+        });
+
+        cy.get('[title="Reset"]').click();
+
+        originalFields.forEach(({ selector, value }) => {
+            cy.validateContent(selector, value);
+        });
+    });
+
+    it('Should clone selected route', () => {
+        cy.get(selectors.lastRowSelectCheckBox).click();
+        cy.get(selectors.cloneBtn).click();
+        cy.dataCy('route.Starting date_inputDate').type('10-05-2001{enter}');
+        cy.get('.q-card__actions > .q-btn--standard > .q-btn__content').click();
+        cy.validateContent(selectors.date, '05/10/2001');
+    });
+
+    it('Should download selected route', () => {
+        const downloadsFolder = Cypress.config('downloadsFolder');
+        cy.get(selectors.lastRowSelectCheckBox).click();
+        cy.get(selectors.downloadBtn).click();
+        cy.wait(5000);
+
+        const fileName = 'download.zip';
+        cy.readFile(`${downloadsFolder}/${fileName}`).should('exist');
+
+        cy.task('deleteFile', `${downloadsFolder}/${fileName}`).then((deleted) => {
+            expect(deleted).to.be.true;
+        });
+    });
+
+    it('Should mark as served the selected route', () => {
+        cy.get(selectors.lastRowSelectCheckBox).click();
+        cy.get(selectors.markServedBtn).click();
+
+        cy.typeSearchbar('{enter}');
+        cy.validateContent(selectors.served, checkboxState.check);
+    });
+
+    it('Should delete the selected route', () => {
+        cy.get(selectors.lastRowSelectCheckBox).click();
+
+        cy.get(selectors.removeBtn).click();
+        cy.dataCy(selectors.confirmBtn).click();
+
+        cy.checkNotification(dataSaved);
+    });
+
+    it('Should save changes in route', () => {
+        updateFields.forEach(({ selector, type, value }) => {
+            fillField(selector, type, value);
+        });
+
+        cy.dataCy(selectors.saveBtn).should('not.be.disabled').click();
+        cy.checkNotification(dataSaved);
+
+        cy.typeSearchbar('{enter}');
+
+        updateFields.forEach(({ selector, value }) => {
+            cy.validateContent(selector, value);
+        });
+    });
+
+    it('Should add ticket to route', () => {
+        cy.dataCy('tableAction-0').last().click();
+        cy.get(selectors.firstTicketsRowSelectCheckBox).click();
+        cy.get('.q-card__actions > .q-btn--standard > .q-btn__content').click();
+        cy.checkNotification(dataSaved);
+    });
+
+    it('Should open summary pop-up when click summuary icon', () => {
+        cy.dataCy('tableAction-1').last().click();
+        cy.get('.summaryHeader > :nth-child(2').should('contain', updateFields[4].value);
+    });
+
+    it('Should redirect to the summary from the route summary pop-up', () => {
+        cy.dataCy('tableAction-1').last().click();
+        cy.get('.header > .q-icon').should('be.visible').click();
+        cy.url().should('include', '/summary');
+    });
+
+    it('Should redirect to the summary when click go to summary icon', () => {
+        cy.dataCy('tableAction-2').last().click();
+        cy.url().should('include', '/summary');
+    });
+});
diff --git a/test/cypress/integration/ticket/ticketSale.spec.js b/test/cypress/integration/ticket/ticketSale.spec.js
index aed8dc85ac2..63562bd26e9 100644
--- a/test/cypress/integration/ticket/ticketSale.spec.js
+++ b/test/cypress/integration/ticket/ticketSale.spec.js
@@ -1,122 +1,208 @@
 /// <reference types="cypress" />
 
 describe('TicketSale', () => {
-    beforeEach(() => {
-        cy.login('developer');
-        cy.viewport(1920, 1080);
-        cy.visit('/#/ticket/31/sale');
-    });
-
-    const firstRow = 'tbody > :nth-child(1)';
-
-    const selectFirstRow = () => {
-        cy.waitForElement(firstRow);
-        cy.get(firstRow).find('.q-checkbox__inner').click();
-    };
-
-    it('it should add item to basket', () => {
-        cy.window().then((win) => {
-            cy.stub(win, 'open').as('windowOpen');
+    describe('Free ticket #31', () => {
+        beforeEach(() => {
+            cy.login('developer');
+            cy.viewport(1920, 1080);
+            cy.visit('/#/ticket/31/sale');
         });
-        cy.dataCy('ticketSaleAddToBasketBtn').should('exist');
-        cy.dataCy('ticketSaleAddToBasketBtn').click();
-        cy.get('@windowOpen').should('be.calledWithMatch', /\/order\/\d+\/catalog/);
-    });
 
-    it('should send SMS', () => {
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.waitForElement('[data-cy="sendShortageSMSItem"]');
-        cy.dataCy('sendShortageSMSItem').should('exist');
-        cy.dataCy('sendShortageSMSItem').click();
-        cy.dataCy('vnSmsDialog').should('exist');
-        cy.dataCy('sendSmsBtn').click();
-        cy.checkNotification('SMS sent');
-    });
+        const firstRow = 'tbody > :nth-child(1)';
 
-    it('should recalculate price when "Recalculate price" is clicked', () => {
-        cy.intercept('POST', '**/recalculatePrice').as('recalculatePrice');
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.waitForElement('[data-cy="recalculatePriceItem"]');
-        cy.dataCy('recalculatePriceItem').should('exist');
-        cy.dataCy('recalculatePriceItem').click();
-        cy.wait('@recalculatePrice').its('response.statusCode').should('eq', 200);
-        cy.checkNotification('Data saved');
-    });
+        const selectFirstRow = () => {
+            cy.waitForElement(firstRow);
+            cy.get(firstRow).find('.q-checkbox__inner').click();
+        };
 
-    it('should update discount when "Update discount" is clicked', () => {
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.waitForElement('[data-cy="updateDiscountItem"]');
-        cy.dataCy('updateDiscountItem').should('exist');
-        cy.dataCy('updateDiscountItem').click();
-        cy.waitForElement('[data-cy="ticketSaleDiscountInput"]');
-        cy.dataCy('ticketSaleDiscountInput').find('input').focus();
-        cy.dataCy('ticketSaleDiscountInput').find('input').type('10');
-        cy.dataCy('saveManaBtn').click();
-        cy.waitForElement('.q-notification__message');
-        cy.checkNotification('Data saved');
-    });
+        it('it should add item to basket', () => {
+            cy.window().then((win) => {
+                cy.stub(win, 'open').as('windowOpen');
+            });
+            cy.dataCy('ticketSaleAddToBasketBtn').should('exist');
+            cy.dataCy('ticketSaleAddToBasketBtn').click();
+            cy.get('@windowOpen').should('be.calledWithMatch', /\/order\/\d+\/catalog/);
+        });
 
-    it('adds claim', () => {
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.dataCy('createClaimItem').click();
-        cy.dataCy('VnConfirm_confirm').click();
-        cy.url().should('contain', 'claim/');
-        // Delete created claim to avoid cluttering the database
-        cy.dataCy('descriptor-more-opts').click();
-        cy.dataCy('deleteClaim').click();
-        cy.dataCy('VnConfirm_confirm').click();
-        cy.checkNotification('Data deleted');
-    });
+        it('should send SMS', () => {
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.waitForElement('[data-cy="sendShortageSMSItem"]');
+            cy.dataCy('sendShortageSMSItem').should('exist');
+            cy.dataCy('sendShortageSMSItem').click();
+            cy.dataCy('vnSmsDialog').should('exist');
+            cy.dataCy('sendSmsBtn').click();
+            cy.checkNotification('SMS sent');
+        });
 
-    it('marks row as reserved', () => {
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.waitForElement('[data-cy="markAsReservedItem"]');
-        cy.dataCy('markAsReservedItem').click();
-        cy.dataCy('ticketSaleReservedIcon').should('exist');
-    });
+        it('should recalculate price when "Recalculate price" is clicked', () => {
+            cy.intercept('POST', '**/recalculatePrice').as('recalculatePrice');
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.waitForElement('[data-cy="recalculatePriceItem"]');
+            cy.dataCy('recalculatePriceItem').should('exist');
+            cy.dataCy('recalculatePriceItem').click();
+            cy.wait('@recalculatePrice').its('response.statusCode').should('eq', 200);
+            cy.checkNotification('Data saved');
+        });
 
-    it('unmarks row as reserved', () => {
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.waitForElement('[data-cy="unmarkAsReservedItem"]');
-        cy.dataCy('unmarkAsReservedItem').click();
-        cy.dataCy('ticketSaleReservedIcon').should('not.exist');
-    });
+        it('should update discount when "Update discount" is clicked', () => {
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.waitForElement('[data-cy="updateDiscountItem"]');
+            cy.dataCy('updateDiscountItem').should('exist');
+            cy.dataCy('updateDiscountItem').click();
+            cy.waitForElement('[data-cy="ticketSaleDiscountInput"]');
+            cy.dataCy('ticketSaleDiscountInput').find('input').focus();
+            cy.dataCy('ticketSaleDiscountInput').find('input').type('10');
+            cy.dataCy('saveManaBtn').click();
+            cy.waitForElement('.q-notification__message');
+            cy.checkNotification('Data saved');
+        });
 
-    it('refunds row with warehouse', () => {
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.dataCy('ticketSaleRefundItem').click();
-        cy.dataCy('ticketSaleRefundWithWarehouse').click();
-        cy.checkNotification('The following refund ticket have been created');
-    });
+        it('adds claim', () => {
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.dataCy('createClaimItem').click();
+            cy.dataCy('VnConfirm_confirm').click();
+            cy.url().should('contain', 'claim/');
+            // Delete created claim to avoid cluttering the database
+            cy.dataCy('descriptor-more-opts').click();
+            cy.dataCy('deleteClaim').click();
+            cy.dataCy('VnConfirm_confirm').click();
+            cy.checkNotification('Data deleted');
+        });
 
-    it('refunds row without warehouse', () => {
-        selectFirstRow();
-        cy.dataCy('ticketSaleMoreActionsDropdown').click();
-        cy.dataCy('ticketSaleRefundItem').click();
-        cy.dataCy('ticketSaleRefundWithoutWarehouse').click();
-        cy.checkNotification('The following refund ticket have been created');
-    });
+        it('marks row as reserved', () => {
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.waitForElement('[data-cy="markAsReservedItem"]');
+            cy.dataCy('markAsReservedItem').click();
+            cy.dataCy('ticketSaleReservedIcon').should('exist');
+        });
 
-    it('transfer sale to a new ticket', () => {
-        cy.visit('/#/ticket/32/sale');
-        cy.get('.q-item > .q-item__label').should('have.text', ' #32');
-        selectFirstRow();
-        cy.dataCy('ticketSaleTransferBtn').click();
-        cy.dataCy('ticketTransferPopup').should('exist');
-        cy.dataCy('ticketTransferNewTicketBtn').click();
-        //check the new ticket has been created succesfully
-        cy.get('.q-item > .q-item__label').should('not.have.text', ' #32');
-    });
+        it('unmarks row as reserved', () => {
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.waitForElement('[data-cy="unmarkAsReservedItem"]');
+            cy.dataCy('unmarkAsReservedItem').click();
+            cy.dataCy('ticketSaleReservedIcon').should('not.exist');
+        });
 
-    it('should redirect to ticket logs', () => {
-        cy.get(firstRow).find('.q-btn:last').click();
-        cy.url().should('match', /\/ticket\/31\/log/);
+        it('refunds row with warehouse', () => {
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.dataCy('ticketSaleRefundItem').click();
+            cy.dataCy('ticketSaleRefundWithWarehouse').click();
+            cy.checkNotification('The following refund ticket have been created');
+        });
+
+        it('refunds row without warehouse', () => {
+            selectFirstRow();
+            cy.dataCy('ticketSaleMoreActionsDropdown').click();
+            cy.dataCy('ticketSaleRefundItem').click();
+            cy.dataCy('ticketSaleRefundWithoutWarehouse').click();
+            cy.checkNotification('The following refund ticket have been created');
+        });
+
+        it('transfer sale to a new ticket', () => {
+            cy.visit('/#/ticket/32/sale');
+            cy.get('.q-item > .q-item__label').should('have.text', ' #32');
+            selectFirstRow();
+            cy.dataCy('ticketSaleTransferBtn').click();
+            cy.dataCy('ticketTransferPopup').should('exist');
+            cy.dataCy('ticketTransferNewTicketBtn').click();
+            //check the new ticket has been created succesfully
+            cy.get('.q-item > .q-item__label').should('not.have.text', ' #32');
+        });
+
+        it('should redirect to ticket logs', () => {
+            cy.get(firstRow).find('.q-btn:last').click();
+            cy.url().should('match', /\/ticket\/31\/log/);
+        });
+    });
+    describe('Ticket prepared #23', () => {
+        beforeEach(() => {
+            cy.login('developer');
+            cy.viewport(1920, 1080);
+            cy.visit('/#/ticket/23/sale');
+        });
+
+        const firstRow = 'tbody > :nth-child(1)';
+
+        const selectFirstRow = () => {
+            cy.waitForElement(firstRow);
+            cy.get(firstRow).find('.q-checkbox__inner').click();
+        };
+
+        it('update price', () => {
+            const price = Number((Math.random() * 99 + 1).toFixed(2));
+            cy.waitForElement(firstRow);
+            cy.get(':nth-child(10) > .q-btn').click();
+            cy.waitForElement('[data-cy="ticketEditManaProxy"]');
+            cy.dataCy('ticketEditManaProxy').should('exist');
+            cy.waitForElement('[data-cy="Price_input"]');
+            cy.dataCy('Price_input').clear();
+            cy.dataCy('Price_input').type(price);
+            cy.dataCy('saveManaBtn').click();
+            handleVnConfirm();
+
+            cy.get(':nth-child(10) > .q-btn > .q-btn__content').should(
+                'have.text',
+                `โ‚ฌ${price}`,
+            );
+        });
+        it('update dicount', () => {
+            const discount = Math.floor(Math.random() * 100) + 1;
+            selectFirstRow();
+            cy.get(':nth-child(11) > .q-btn').click();
+            cy.waitForElement('[data-cy="ticketEditManaProxy"]');
+            cy.dataCy('ticketEditManaProxy').should('exist');
+            cy.waitForElement('[data-cy="Disc_input"]');
+            cy.dataCy('Disc_input').clear();
+            cy.dataCy('Disc_input').type(discount);
+            cy.dataCy('saveManaBtn').click();
+            handleVnConfirm();
+
+            cy.get(':nth-child(11) > .q-btn > .q-btn__content').should(
+                'have.text',
+                `${discount}.00%`,
+            );
+        });
+
+        it('change concept', () => {
+            const quantity = Math.floor(Math.random() * 100) + 1;
+            cy.waitForElement(firstRow);
+            cy.get(':nth-child(8) > .row').click();
+            cy.get(
+                '.q-menu > [data-v-ca3f07a4=""] > .q-field > .q-field__inner > .q-field__control > .q-field__control-container > [data-cy="undefined_input"]',
+            )
+                .type(quantity)
+                .type('{enter}');
+            handleVnConfirm();
+
+            cy.get(':nth-child(8) >.row').should('contain.text', `${quantity}`);
+        });
+        it('changequantity ', () => {
+            const quantity = Math.floor(Math.random() * 100) + 1;
+            cy.waitForElement(firstRow);
+            cy.dataCy('ticketSaleQuantityInput').clear();
+            cy.dataCy('ticketSaleQuantityInput').type(quantity).trigger('tab');
+            cy.get('.q-page > :nth-child(6)').click();
+
+            handleVnConfirm();
+
+            cy.get('[data-cy="ticketSaleQuantityInput"]')
+                .find('[data-cy="undefined_input"]')
+                .should('have.value', `${quantity}`);
+        });
     });
 });
+
+function handleVnConfirm() {
+    cy.get('[data-cy="VnConfirm_confirm"] > .q-btn__content > .block').click();
+    cy.waitForElement('.q-notification__message');
+
+    cy.get('.q-notification__message').should('be.visible');
+    cy.checkNotification('Data saved');
+}
diff --git a/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js b/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js
index 2cd43984a5a..49d7d9f01e4 100644
--- a/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js
+++ b/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js
@@ -8,7 +8,7 @@ describe('WagonTypeCreate', () => {
 
     it('should create a new wagon type and then delete it', () => {
         cy.get('.q-page-sticky > div > .q-btn').click();
-        cy.get('input').first().type('Example for testing');
+        cy.dataCy('Name_input').type('Example for testing');
         cy.get('[data-cy="FormModelPopup_save"]').click();
         cy.get('[title="Remove"] > .q-btn__content > .q-icon').first().click();
     });
diff --git a/test/cypress/integration/worker/workerCreate.spec.js b/test/cypress/integration/worker/workerCreate.spec.js
index 7f2810395ed..71fd6b347e7 100644
--- a/test/cypress/integration/worker/workerCreate.spec.js
+++ b/test/cypress/integration/worker/workerCreate.spec.js
@@ -2,9 +2,24 @@ describe('WorkerCreate', () => {
     const externalRadio = '.q-radio:nth-child(2)';
     const developerBossId = 120;
     const payMethodCross =
-        '.grid-create .full-width > :nth-child(9) .q-select .q-field__append:not(.q-anchor--skip)';
+        ':nth-child(9) > .q-select > .q-field__inner > .q-field__control > :nth-child(2)';
     const saveBtn = '.q-mt-lg > .q-btn--standard';
 
+    const internalWithOutPay = {
+        Fi: { val: '78457139E' },
+        'Web user': { val: 'manolo' },
+        Name: { val: 'Manolo' },
+        'Last name': { val: 'Hurtado' },
+        'Personal email': { val: 'manolo@mydomain.com' },
+        Company: { val: 'VNL', type: 'select' },
+        Street: { val: 'S/ DEFAULTWORKERSTREET' },
+        Location: { val: 1, type: 'select' },
+        Phone: { val: '123456789' },
+        'Worker code': { val: 'DWW' },
+        Boss: { val: developerBossId, type: 'select' },
+        Birth: { val: '11-12-2022', type: 'date' },
+    };
+
     const internal = {
         Fi: { val: '78457139E' },
         'Web user': { val: 'manolo' },
@@ -14,6 +29,7 @@ describe('WorkerCreate', () => {
         Company: { val: 'VNL', type: 'select' },
         Street: { val: 'S/ DEFAULTWORKERSTREET' },
         Location: { val: 1, type: 'select' },
+        'Pay method': { val: 1, type: 'select' },
         Phone: { val: '123456789' },
         'Worker code': { val: 'DWW' },
         Boss: { val: developerBossId, type: 'select' },
@@ -37,17 +53,14 @@ describe('WorkerCreate', () => {
     });
 
     it('should throw an error if a pay method has not been selected', () => {
-        cy.fillInForm(internal);
+        cy.fillInForm(internalWithOutPay);
         cy.get(payMethodCross).click();
         cy.get(saveBtn).click();
         cy.checkNotification('Payment method is required');
     });
 
     it('should create an internal', () => {
-        cy.fillInForm({
-            ...internal,
-            'Pay method': { val: 'PayMethod one', type: 'select' },
-        });
+        cy.fillInForm(internal);
         cy.get(saveBtn).click();
         cy.checkNotification('Data created');
     });
diff --git a/test/cypress/integration/worker/workerNotificationsManager.spec.js b/test/cypress/integration/worker/workerNotificationsManager.spec.js
index f121b3894f8..ad48d8a6cb2 100644
--- a/test/cypress/integration/worker/workerNotificationsManager.spec.js
+++ b/test/cypress/integration/worker/workerNotificationsManager.spec.js
@@ -18,7 +18,7 @@ describe('WorkerNotificationsManager', () => {
         cy.visit(`/#/worker/${salesPersonId}/notifications`);
         cy.get(firstAvailableNotification).click();
         cy.checkNotification(
-            'The notification subscription of this worker cant be modified'
+            'The notification subscription of this worker cant be modified',
         );
     });
 
diff --git a/test/cypress/integration/worker/workerPit.spec.js b/test/cypress/integration/worker/workerPit.spec.js
index cc3a87637a6..19cbebc204f 100644
--- a/test/cypress/integration/worker/workerPit.spec.js
+++ b/test/cypress/integration/worker/workerPit.spec.js
@@ -8,7 +8,8 @@ describe('WorkerPit', () => {
     const spousePensionInput = '[data-cy="Spouse Pension_input"]';
     const spousePension = '120';
     const addRelative = '[data-cy="addRelative"]';
-    const isDescendantSelect = '[data-cy="Descendant/Ascendant_select"]';
+    const isDescendantSelect = '[data-cy="Descendant/Ascendant"]';
+    const Descendant = 'Descendiente';
     const birthedInput = '[data-cy="Birth Year_input"]';
     const birthed = '2002';
     const adoptionYearInput = '[data-cy="Adoption Year_input"]';
@@ -28,11 +29,8 @@ describe('WorkerPit', () => {
         cy.get(spouseNifInput).type(spouseNif);
         cy.get(spousePensionInput).type(spousePension);
         cy.get(savePIT).click();
-    });
-
-    it('complete relative', () => {
         cy.get(addRelative).click();
-        cy.get(isDescendantSelect).type('{downArrow}{downArrow}{enter}');
+        cy.get(isDescendantSelect).type(Descendant);
         cy.get(birthedInput).type(birthed);
         cy.get(adoptionYearInput).type(adoptionYear);
         cy.get(saveRelative).click();
diff --git a/test/cypress/integration/zone/zoneList.spec.js b/test/cypress/integration/zone/zoneList.spec.js
index 8d01d4e4e8f..68e92463540 100644
--- a/test/cypress/integration/zone/zoneList.spec.js
+++ b/test/cypress/integration/zone/zoneList.spec.js
@@ -1,4 +1,5 @@
 describe('ZoneList', () => {
+    const agency = 'inhouse pickup';
     beforeEach(() => {
         cy.viewport(1280, 720);
         cy.login('developer');
@@ -6,11 +7,15 @@ describe('ZoneList', () => {
     });
 
     it('should filter by agency', () => {
-        cy.get('input[aria-label="Agency"]').type('{downArrow}{enter}');
+        cy.dataCy('zoneFilterPanelNameInput').type('{downArrow}{enter}');
     });
 
     it('should open the zone summary', () => {
-        cy.get('input[aria-label="Name"]').type('zone refund');
-        cy.get('.q-scrollarea__content > .q-btn--standard > .q-btn__content').click();
+        cy.dataCy('zoneFilterPanelAgencySelect').type(agency);
+        cy.get('.q-menu .q-item').contains(agency).click();
+        cy.get(':nth-child(1) > [data-col-field="agencyModeFk"]').should(
+            'include.text',
+            agency,
+        );
     });
 });