diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue
index 79407dcb4..f5cfdd734 100644
--- a/src/components/FormModel.vue
+++ b/src/components/FormModel.vue
@@ -109,7 +109,7 @@ const defaultButtons = computed(() => ({
 }));
 
 onMounted(async () => {
-    originalData.value = $props.formInitialData;
+    originalData.value = JSON.parse(JSON.stringify($props.formInitialData ?? {}));
 
     nextTick(() => (componentIsRendered.value = true));
 
@@ -124,7 +124,9 @@ onMounted(async () => {
             () => formData.value,
             (newVal, oldVal) => {
                 if (!oldVal) return;
-                hasChanges.value = !isResetting.value && newVal;
+                hasChanges.value =
+                    !isResetting.value &&
+                    JSON.stringify(newVal) !== JSON.stringify(originalData.value);
                 isResetting.value = false;
             },
             { deep: true }
@@ -145,6 +147,7 @@ watch(formUrl, async () => {
 });
 
 onBeforeRouteLeave((to, from, next) => {
+    console.log('entro aqui antes');
     if (hasChanges.value && $props.observeFormChanges)
         quasar.dialog({
             component: VnConfirm,
@@ -177,7 +180,7 @@ async function fetch() {
     }
 }
 
-async function save() {
+async function save(emit = true) {
     if ($props.observeFormChanges && !hasChanges.value)
         return notify('globals.noChanges', 'negative');
 
@@ -194,18 +197,18 @@ async function save() {
 
         if ($props.urlCreate) notify('globals.dataCreated', 'positive');
 
-        updateAndEmit(response?.data, 'onDataSaved');
         hasChanges.value = false;
+        isLoading.value = false;
+
+        if (emit) updateAndEmit(response?.data, 'onDataSaved');
     } catch (err) {
         console.error(err);
         notify('errors.writeRequest', 'negative');
-    } finally {
-        isLoading.value = false;
     }
 }
 
 async function saveAndGo() {
-    await save();
+    await save(null);
     push({ path: $props.goTo });
 }
 
@@ -240,7 +243,7 @@ function updateAndEmit(val, evt) {
     emit(evt, state.get($props.model));
 }
 
-defineExpose({ save, isLoading, hasChanges });
+defineExpose({ save, saveAndGo, isLoading, hasChanges });
 </script>
 <template>
     <div class="column items-center full-width">
diff --git a/src/pages/InvoiceIn/InvoiceInCreate.vue b/src/pages/InvoiceIn/InvoiceInCreate.vue
index df8ea4885..df73a0005 100644
--- a/src/pages/InvoiceIn/InvoiceInCreate.vue
+++ b/src/pages/InvoiceIn/InvoiceInCreate.vue
@@ -4,7 +4,7 @@ import { useI18n } from 'vue-i18n';
 import { useRoute, useRouter } from 'vue-router';
 import FormModel from 'components/FormModel.vue';
 import VnRow from 'components/ui/VnRow.vue';
-import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
+import VnSelect from 'src/components/common/VnSelect.vue';
 import FetchData from 'components/FetchData.vue';
 import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
 import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
@@ -29,8 +29,9 @@ const newInvoiceIn = reactive({
 const suppliersOptions = ref([]);
 const companiesOptions = ref([]);
 
-const redirectToInvoiceInBasicData = (_, { id }) =>
+const redirectToInvoiceInBasicData = ({ id }) => {
     router.push({ name: 'InvoiceInBasicData', params: { id } });
+};
 </script>
 
 <template>
@@ -61,13 +62,13 @@ const redirectToInvoiceInBasicData = (_, { id }) =>
         <VnSubToolbar />
         <FormModel
             url-create="InvoiceIns"
-            model="Invoice"
+            model="InvoiceIn"
             :form-initial-data="newInvoiceIn"
             @on-data-saved="redirectToInvoiceInBasicData"
         >
             <template #form="{ data, validate }">
                 <VnRow>
-                    <VnSelectFilter
+                    <VnSelect
                         :label="t('Supplier')"
                         v-model="data.supplierFk"
                         :options="suppliersOptions"
@@ -87,14 +88,14 @@ const redirectToInvoiceInBasicData = (_, { id }) =>
                                 </QItemSection>
                             </QItem>
                         </template>
-                    </VnSelectFilter>
+                    </VnSelect>
                     <VnInput
                         :label="t('invoiceIn.summary.supplierRef')"
                         v-model="data.supplierRef"
                     />
                 </VnRow>
                 <VnRow>
-                    <VnSelectFilter
+                    <VnSelect
                         :label="t('Company')"
                         v-model="data.companyFk"
                         :options="companiesOptions"
diff --git a/src/router/modules/invoiceIn.js b/src/router/modules/invoiceIn.js
index d09619282..75d0612aa 100644
--- a/src/router/modules/invoiceIn.js
+++ b/src/router/modules/invoiceIn.js
@@ -39,10 +39,10 @@ export default {
                 },
                 {
                     path: 'create',
-                    name: 'InvoiceInCreate',
+                    name: 'InvoiceInCreare',
                     meta: {
-                        title: 'create',
-                        icon: 'vn:settings',
+                        title: 'invoiceInCreate',
+                        icon: 'create',
                     },
                     component: () => import('src/pages/InvoiceIn/InvoiceInCreate.vue'),
                 },