diff --git a/frontend/src/lib/components/dashboard/csv-upload/ConfigFooter.svelte b/frontend/src/lib/components/dashboard/csv-upload/ConfigFooter.svelte new file mode 100644 index 00000000..1adb87aa --- /dev/null +++ b/frontend/src/lib/components/dashboard/csv-upload/ConfigFooter.svelte @@ -0,0 +1,96 @@ + + + +
+
+
+ + Configuración: {activeTab} +
+ + {#if currentFields.length > 0} +
+ {#each currentFields as field} +
+ {#if field.type !== 'boolean'} + + {/if} + + {#if field.type === 'text'} + + {:else if field.type === 'boolean'} +
+ + +
+ {:else if field.type === 'select' && field.options} + + {:else if field.type === 'radio' && field.options} + + {#each field.options as opt} +
+ + +
+ {/each} +
+ {/if} +
+ {/each} +
+ {:else} +
+ No hay configuraciones específicas para este módulo. +
+ {/if} +
+
diff --git a/frontend/src/lib/components/dashboard/csv-upload/UniversalUploadModal.svelte b/frontend/src/lib/components/dashboard/csv-upload/UniversalUploadModal.svelte new file mode 100644 index 00000000..721cd901 --- /dev/null +++ b/frontend/src/lib/components/dashboard/csv-upload/UniversalUploadModal.svelte @@ -0,0 +1,123 @@ + + + + + + + {#if config.icon} + + {/if} + Importar {config.title} + + + Selecciona tu archivo CSV para procesar. +
+ + La configuración activa del pie de página se aplicará a esta carga. + +
+
+ +
+ +
+
+ + {#if file} + +
+ {file.name} + {(file.size / 1024).toFixed(2)} KB +
+ {:else} + + Arrastra tu archivo aquí o haz clic + Soporta CSV, TXT + {/if} +
+
+ + + {#if Object.keys(currentSettings).length > 0} +
+ Configuración Activa: +
    + {#each Object.entries(currentSettings) as [key, value]} +
  • {key}: {value}
  • + {/each} +
+
+ {/if} +
+ + + + + +
+
diff --git a/frontend/src/lib/components/dashboard/csv-upload/UploadLauncherGrid.svelte b/frontend/src/lib/components/dashboard/csv-upload/UploadLauncherGrid.svelte new file mode 100644 index 00000000..8084f135 --- /dev/null +++ b/frontend/src/lib/components/dashboard/csv-upload/UploadLauncherGrid.svelte @@ -0,0 +1,264 @@ + + +
+ {#if groupedItems.ungrouped.length > 0} +
+ {#each groupedItems.ungrouped as item} +
handleDragEnter(e, item.id, item.disabled)} + ondragleave={handleDragLeave} + ondragover={(e) => handleDragOver(e, item.disabled)} + ondrop={(e) => handleDrop(e, item)} + oncontextmenu={(e) => handleContextMenu(e, item)} + roles="button" + tabindex={item.disabled ? -1 : 0} + onclick={() => handleClick(item.id, item.disabled)} + onkeydown={(e) => !item.disabled && e.key === 'Enter' && handleClick(item.id)} + > + handleFileChange(e, item)} + disabled={item.disabled} + /> + + + {#if item.disabled} +
+ + Próximamente + +
+ {/if} + + + {#if !item.disabled && dragOverId === item.id} +
+ +
+ ¡Suelta el archivo! + {:else} +
+ +
+
{item.title}
+ {/if} +
+
+
+ {/each} +
+ {/if} + + {#each Object.entries(groupedItems.groups) as [groupName, groupItems]} +
+

+ {groupName} +

+
+ {#each groupItems as item} +
handleDragEnter(e, item.id, item.disabled)} + ondragleave={handleDragLeave} + ondragover={(e) => handleDragOver(e, item.disabled)} + ondrop={(e) => handleDrop(e, item)} + oncontextmenu={(e) => handleContextMenu(e, item)} + role="button" + tabindex={item.disabled ? -1 : 0} + onclick={() => handleClick(item.id, item.disabled)} + onkeydown={(e) => !item.disabled && e.key === 'Enter' && handleClick(item.id)} + > + handleFileChange(e, item)} + disabled={item.disabled} + /> + + + {#if item.disabled} +
+ + Próximamente + +
+ {/if} + + + {#if !item.disabled && dragOverId === item.id} +
+ +
+ ¡Suelta el archivo! + {:else} +
+ +
+
{item.title}
+ {/if} +
+
+
+ {/each} +
+
+ {/each} +
diff --git a/frontend/src/lib/components/sidebar/modules.ts b/frontend/src/lib/components/sidebar/modules.ts index ee0a8d9a..8f868cdf 100644 --- a/frontend/src/lib/components/sidebar/modules.ts +++ b/frontend/src/lib/components/sidebar/modules.ts @@ -14,6 +14,7 @@ import { Shield, Users, Ship, + MoreHorizontal, } from 'lucide-svelte'; import * as m from "$lib/paraglide/messages.js"; import { Title } from '../ui/alert'; @@ -423,6 +424,7 @@ export function getSidebarData(): SidebarData { }, ], }, + { title: m["sidebar.clients_and_providers"](), url: "/dashboard/clients_and_providers", diff --git a/frontend/src/lib/components/sidebar/nav-projects.svelte b/frontend/src/lib/components/sidebar/nav-projects.svelte index e231955d..f67a27e2 100644 --- a/frontend/src/lib/components/sidebar/nav-projects.svelte +++ b/frontend/src/lib/components/sidebar/nav-projects.svelte @@ -1,4 +1,5 @@ - @@ -66,11 +78,28 @@ {/each} + - + More + + + + + + + + Carga CSV + + + + diff --git a/frontend/src/lib/config/csv-upload.ts b/frontend/src/lib/config/csv-upload.ts new file mode 100644 index 00000000..044e9d0d --- /dev/null +++ b/frontend/src/lib/config/csv-upload.ts @@ -0,0 +1,366 @@ +import { + User, + Users, + FileText, + Truck, + Container, + Ship, + Plane, + Package, + Briefcase, + Globe, + CreditCard, + DollarSign, + Calendar, + Hash, + MapPin, + ShieldCheck, + FileDigit, + Scale, +} from 'lucide-svelte'; + +// --- Interfaces --- + +export interface CsvUploadItem { + id: string; + title: string; + icon: any; + group?: string; // For grouping within a tab + modelTarget?: string; // The backend model this maps to + description?: string; + templateUrl?: string; // Path to the template file in static/ + disabled?: boolean; // New property to mark items as "Coming Soon" +} + +export interface CsvUploadField { + name: string; + label: string; + type: 'text' | 'select' | 'boolean' | 'date' | 'radio'; + options?: { label: string; value: string | boolean | number }[]; + required?: boolean; + defaultValue?: any; +} + +// Map of Tab ID -> Array of Fields +export const tabSettings: Record = { + catalogos: [ + { + name: 'mode', + label: 'Modo de Carga', + type: 'radio', + options: [ + { label: 'Actualizar', value: 'update' }, + { label: 'Reemplazar', value: 'replace' } + ], + defaultValue: 'update' + } + ], + transportes: [ + { + name: 'mode', + label: 'Modo de Carga', + type: 'radio', + options: [ + { label: 'Actualizar', value: 'update' }, + { label: 'Reemplazar', value: 'replace' } + ], + defaultValue: 'update' + } + ], + importacion: [ + { + name: 'autonumber_remesas', + label: 'Autonumerar Remesas', + type: 'boolean', + defaultValue: false + }, + { + name: 'recalculate_dates', + label: 'Recalcular Fechas', + type: 'boolean', + defaultValue: false + }, + { + name: 'dateFormat', + label: 'Formato de Fecha', + type: 'select', + options: [ + { label: 'DD/MM/YYYY', value: 'dd/mm/yyyy' }, + { label: 'MM/DD/YYYY', value: 'mm/dd/yyyy' }, + { label: 'YYYY-MM-DD', value: 'yyyy-mm-dd' } + ], + defaultValue: 'dd/mm/yyyy' + } + ], + exportacion: [ + { + name: 'invoice_type', + label: 'Tipo de Factura', + type: 'select', + options: [ + { label: 'AFIJO', value: 'AFIJO' }, + { label: 'NORMAL', value: 'NORMAL' }, + ], + defaultValue: 'AFIJO', + }, + { + name: 'is_regime_change', + label: 'Es Cambio de Régimen', + type: 'boolean', + defaultValue: false, + }, + { + name: 'dateFormat', + label: 'Formato de Fecha', + type: 'select', + options: [ + { label: 'DD/MM/YYYY', value: 'dd/mm/yyyy' }, + { label: 'MM/DD/YYYY', value: 'mm/dd/yyyy' }, + { label: 'YYYY-MM-DD', value: 'yyyy-mm-dd' } + ], + defaultValue: 'dd/mm/yyyy' + } + ] +}; + +// --- DATA DEFINITIONS (Items only, no config) --- + +export const catalogosConfig: CsvUploadItem[] = [ + { + id: 'customs_brokers', + title: 'Agentes Aduanales', + icon: User, + modelTarget: 'CustomsBroker', + templateUrl: '/csv/EstructuraCatAgenteAduanal.xls' + }, + { + id: 'clients_providers', + title: 'Clientes y Proveedores', + icon: Users, + modelTarget: 'ClientProvider', + templateUrl: '/csv/EstructuraCatClienteProv.xls' + }, + { + id: 'exchange_rates', + title: 'Tipo de Cambios', + icon: DollarSign, + modelTarget: 'ExchangeRate', + templateUrl: '/csv/EstructuraCatTiposCambio.xls' + }, + { + id: 'american_fractions', + title: 'Fracc. Ame.', + icon: Globe, + modelTarget: 'AmericanFraction', + templateUrl: '/csv/EstructuraCatFraccAme.xls' + }, + { + id: 'material_classes', + title: 'Clases de Materiales', + icon: Package, + modelTarget: 'MaterialClass', + templateUrl: '/csv/EstructuraCatClasesAF.xls' + }, + { + id: 'items', + title: 'Partidas (Permisos)', + icon: FileText, + group: 'Permisos', + modelTarget: 'ItemPermission', + templateUrl: '/csv/EstructuraCatPartesAF.xls' + }, + { + id: 'headers', + title: 'Encabezados (Permisos)', + icon: FileText, + group: 'Permisos', + modelTarget: 'HeaderPermission', + disabled: true, + }, + { + id: 'historical_fractions', + title: 'Fracciones Históricas', + icon: Calendar, + modelTarget: 'HistoricalFraction', + disabled: true, + }, + { + id: 'pedimentos', + title: 'Pedimentos', + icon: FileDigit, + modelTarget: 'Pedimento', + templateUrl: '/csv/EstructuraCatPedimentos.xls' + }, +]; + +export const transportesConfig: CsvUploadItem[] = [ + { + id: 'transports', + title: 'Transportes', + icon: Truck, + modelTarget: 'Transport', + templateUrl: '/csv/EstructuraCatTransportes.xls' + }, + { + id: 'drivers', + title: 'Conductores', + icon: User, + modelTarget: 'Driver', + templateUrl: '/csv/EstructuraCatConductor.xls' + }, + { + id: 'trailers', + title: 'Trailers y Cajas', + icon: Container, + modelTarget: 'Trailer', + templateUrl: '/csv/EstructuraCatTrailers.xls' + }, +]; + +export const importacionConfig: CsvUploadItem[] = [ + // Impo Temp + { + id: 'imp_temp_header', + title: 'Encabezado', + icon: FileText, + group: 'Impo. Temp.', + modelTarget: 'InvoiceHeader', + templateUrl: '/csv/EstructuraEncFacImpoTemp.xls' + }, + { + id: 'imp_temp_details', + title: 'Partidas', + icon: Package, + group: 'Impo. Temp.', + modelTarget: 'InvoiceSalesDetails', + templateUrl: '/csv/EstructuraParFacImpoTempAF.xls' + }, + { + id: 'imp_temp_series', + title: 'Series', + icon: Hash, + group: 'Impo. Temp.', + modelTarget: 'InvoiceSeries', + disabled: true, + }, + // Impo Def + { + id: 'imp_def_header', + title: 'Encabezado', + icon: FileText, + group: 'Impo. Def.', + modelTarget: 'InvoiceHeader', + templateUrl: '/csv/EstructuraEncFacImpoDef.xls' + }, + { + id: 'imp_def_details', + title: 'Partidas', + icon: Package, + group: 'Impo. Def.', + modelTarget: 'InvoiceSalesDetails', + templateUrl: '/csv/EstructuraParFacImpoDefAF.xls' + }, + { + id: 'imp_def_series', + title: 'Series', + icon: Hash, + group: 'Impo. Def.', + modelTarget: 'InvoiceSeries', + disabled: true, + }, + // Compras Mex + { + id: 'comp_mex_header', + title: 'Encabezado', + icon: FileText, + group: 'Compras Mex.', + modelTarget: 'InvoiceHeader', + disabled: true, + }, + { + id: 'comp_mex_details', + title: 'Partidas', + icon: Package, + group: 'Compras Mex.', + modelTarget: 'InvoiceSalesDetails', + disabled: true, + }, + { + id: 'comp_mex_series', + title: 'Series', + icon: Hash, + group: 'Compras Mex.', + modelTarget: 'InvoiceSeries', + disabled: true, + }, +]; + +export const exportacionConfig: CsvUploadItem[] = [ + // Expo Def / Cam. Reg. + { + id: 'exp_def_header', + title: 'Encabezado', + icon: FileText, + group: 'Expo. Def./Cam. Reg.', + modelTarget: 'InvoiceHeader', + templateUrl: '/csv/EstructuraEncFacExpoCamReg.xls' + }, + { + id: 'exp_def_details', + title: 'Partidas', + icon: Package, + group: 'Expo. Def./Cam. Reg.', + modelTarget: 'InvoiceSalesDetails', + templateUrl: '/csv/EstructuraParExpoCamReg.xls' + }, + { + id: 'exp_def_series', + title: 'Series', + icon: Hash, + group: 'Expo. Def./Cam. Reg.', + modelTarget: 'InvoiceSeries', + disabled: true, + }, + { + id: 'exp_def_nodes', + title: 'NODES', + icon: Briefcase, + group: 'Expo. Def./Cam. Reg.', + modelTarget: 'Nodes', + disabled: true, + }, + // Expo Rep + { + id: 'exp_rep_header', + title: 'Encabezado', + icon: FileText, + group: 'Expo. Rep.', + modelTarget: 'InvoiceHeader', + disabled: true, + }, + { + id: 'exp_rep_details', + title: 'Partidas', + icon: Package, + group: 'Expo. Rep.', + modelTarget: 'InvoiceSalesDetails', + disabled: true, + }, + { + id: 'exp_rep_series', + title: 'Series', + icon: Hash, + group: 'Expo. Rep.', + modelTarget: 'InvoiceSeries', + disabled: true, + }, + // Manifiesto + { + id: 'manifest_header', + title: 'Encabezado', + icon: FileText, + group: 'Manifiesto', + modelTarget: 'Manifest', + disabled: true, + }, +]; diff --git a/frontend/src/routes/dashboard/csv-upload/+page.svelte b/frontend/src/routes/dashboard/csv-upload/+page.svelte new file mode 100644 index 00000000..40a97268 --- /dev/null +++ b/frontend/src/routes/dashboard/csv-upload/+page.svelte @@ -0,0 +1,107 @@ + + +
+ +
+
+

Importación Masiva de Datos (CSV)

+
+ + + + Catálogos + Transportes + Importación + Exportación + + +
+ +
+

Catálogos Generales

+
+ +
+ + +
+

Logística y Transporte

+
+ +
+ + +
+

Operaciones de Importación

+
+ +
+ + +
+

Operaciones de Exportación

+
+ +
+
+
+ +
+
+ + + {#if allSettings[activeTab]} +
+ +
+ {/if} +
diff --git a/frontend/static/csv/EstructuraCatAgenteAduanal.xls b/frontend/static/csv/EstructuraCatAgenteAduanal.xls new file mode 100644 index 00000000..8978a33e --- /dev/null +++ b/frontend/static/csv/EstructuraCatAgenteAduanal.xls @@ -0,0 +1 @@ +TIPO(MEX=Mexicano,AME=AMERICANO) CLAVE AADUANAL PATENTE NOMBRE RFC DIRECCION CODIGO POSTAL CIUDAD ESTADO PAIS TELEFONO NUMERO FAX CORREO ELECTRONICO CURP diff --git a/frontend/static/csv/EstructuraCatClasesAF.xls b/frontend/static/csv/EstructuraCatClasesAF.xls new file mode 100644 index 00000000..96b7891a --- /dev/null +++ b/frontend/static/csv/EstructuraCatClasesAF.xls @@ -0,0 +1 @@ +CLAVE CLASE DESCRIPCION ESPAÑOL DESCRIPCION INGLES TIPO DE MATERIAL U.M. COMERCIAL FRACCION ARANCELARIA FRACCION AMERICANA TASA DE DEPRECIACION REVISION FISICA (1/0) CODIGO DE PRODUCTO/SERVICIO CP diff --git a/frontend/static/csv/EstructuraCatClienteProv.xls b/frontend/static/csv/EstructuraCatClienteProv.xls new file mode 100644 index 00000000..1b2096cc --- /dev/null +++ b/frontend/static/csv/EstructuraCatClienteProv.xls @@ -0,0 +1 @@ +PROCEDENCIA CLIENTE(E=Extranjero, N=Nacional) TIPO(C=Cliente,P=Proveedor,A=Ambos) CLAVE CLIENTE NOMBRE RFC CALLES NUM. EXTERIOR CODIGO POSTAL COLONIA o PARQUE IND. CIUDAD ESTADO PAIS TELEFONO NUMERO FAX CORREO ELECTRONICO CURP TIPO DE PROGRAMA SECON NUMERO DE PROGRAMA SECON FECHA AUT. SECON ##/##/#### ES PROGRAMA PROSEC? (SI o NO) NUMERO DE PROGRAMA PROSEC VINCULACION ES EMPRESA CERTIFICADA? REGISTRO DE EMPRESA CERT. INFORMACION ADICIONAL CONTACTO CLAVE MANUFACTURERO TAX I.D. CLAVE BROKER AMERICANO EXPO CLAVE BROKER AMERICANO IMPO CLAVE TRANSFERENCIA A.A. TRANSFORMADOR/SUBMAQUILA CLAVE INTERFACE diff --git a/frontend/static/csv/EstructuraCatConductor.xls b/frontend/static/csv/EstructuraCatConductor.xls new file mode 100644 index 00000000..30482cb7 --- /dev/null +++ b/frontend/static/csv/EstructuraCatConductor.xls @@ -0,0 +1 @@ +TRANSPORTISTA LINEA CLAVE CONDUCTOR LICENCIA PERMISO LINEA EXPRESS IDENTIFICACION ACE FECHA NACIMIENTO SEXO PAIS NACIMIENTO TRANSPORTA MAT. PELIGROSO? PERMISO MAT. PELIGROSO NOMBRE(S) APELLIDO PATERNO FORMA IDENTIFICACION 1 NUM. IDENTIFICACION 1 ESTADO PAIS FORMA IDENTIFICACION 2 NUM. IDENTIFICACION 2 ESTADO PAIS diff --git a/frontend/static/csv/EstructuraCatFraccAme.xls b/frontend/static/csv/EstructuraCatFraccAme.xls new file mode 100644 index 00000000..dc1f5495 --- /dev/null +++ b/frontend/static/csv/EstructuraCatFraccAme.xls @@ -0,0 +1 @@ +FRACCION ARANCELARIA PREFIJO UNIDAD DE MEDIDA DESCRIPCION TIPO DE ADVALOREM ADVALOREM % ADVALOREM DLLS diff --git a/frontend/static/csv/EstructuraCatPartesAF.xls b/frontend/static/csv/EstructuraCatPartesAF.xls new file mode 100644 index 00000000..e989d04f --- /dev/null +++ b/frontend/static/csv/EstructuraCatPartesAF.xls @@ -0,0 +1 @@ +NUMERO DE PARTE DESCRIPCION EN ESPAÑOL DESCRIPCION EN INGLES CLASE UNIDAD DE MEDIDA COMERCIAL COSTO UNITARIO TIPO MONEDA COSTO CLAVE MONEDA PESO UNITARIO TIPO PESO FRACCION PAIS PREFERENCIA SECTOR RUTA DE LA IMAGEN diff --git a/frontend/static/csv/EstructuraCatPedimentos.xls b/frontend/static/csv/EstructuraCatPedimentos.xls new file mode 100644 index 00000000..b2e2f7f2 --- /dev/null +++ b/frontend/static/csv/EstructuraCatPedimentos.xls @@ -0,0 +1 @@ +NUMERO DE PEDIMENTO (##-####-######) TIPO MOV(I=Impotación,E=Expotación) CLAVE PEDIMENTO REGIMEN FECHA INICIO FECHA FINAL FECHA DE PAGO ADUANA Y SECCION DE CRUCE ACUSE ELECTRONICO INDIVIDUAL o CONSOLIDADO (IND,CON) MET TRANS ENTRADA MET TRANS ARRIVO MET TRANS SALIDA IEPS DTA CNT PREVALIDACION MONTO TIGIE PAGO IMPUESTO? (S/N) ES MIXTO (SI/NO) OBS RECTIFICA OPCION DESTINO(Interior del Pais/Región Fronteriza/Franja Fronteriza) VALOR IVA VALOR ME VALOR ADUANAS FLETE VALOR SEGUROS SEGUROS EMBALAJES OTROS INCREMENTABLES ESTATUS (ABIERTO/CERRADO) PERSONA REV FECHA CIERRE FECHA REVISION FECHA AUTORIZACION FECHA RECIBIDO REPRESENTANTE AA CLAVE DEST ORIGEN FECHA ENTRADA RECINTO FECHA EXTRACCION RECINTO ERRORES FORMA PAGO DTA FORMA PAGO IGI FORMA PAGO PREVAL FORMA PAGO IVA RECARGOS MULTAS IVA DE PREV CUOTAS CONPENSATORIAS IDENTIFICADORES IEPS 2 FORMA DE PAGO IEPS 2 DTA 2 FORMA DE PAGO DTA 2 IVA 2 FORMA DE PAGO IVA 2 IGI 2 FORMA DE PAGO IGI 2 PREVALIDACION FORMA DE PAGO PREVALIDACION 2 CNT 2 FORMA DE PAGO CNT 2 diff --git a/frontend/static/csv/EstructuraCatTiposCambio.xls b/frontend/static/csv/EstructuraCatTiposCambio.xls new file mode 100644 index 00000000..916d24d3 --- /dev/null +++ b/frontend/static/csv/EstructuraCatTiposCambio.xls @@ -0,0 +1 @@ +FECHA (##/##/####) TIPO DE CAMBIO diff --git a/frontend/static/csv/EstructuraCatTrailers.xls b/frontend/static/csv/EstructuraCatTrailers.xls new file mode 100644 index 00000000..52f1e1d0 --- /dev/null +++ b/frontend/static/csv/EstructuraCatTrailers.xls @@ -0,0 +1 @@ +CLAVE TRAILER/CAJA NUMERO ACE TIPO DE TRAILER PRECINTO CODIGO DE ENTIDAD PLACAS ESTADO PAIS diff --git a/frontend/static/csv/EstructuraCatTransportes.xls b/frontend/static/csv/EstructuraCatTransportes.xls new file mode 100644 index 00000000..32093ebf --- /dev/null +++ b/frontend/static/csv/EstructuraCatTransportes.xls @@ -0,0 +1 @@ +CLAVE CLAVE ACE CLAVE TRANSPORTE VIN TIPO TRANSPORTE CODIGO DE ENTIDAD TRANSPONDEDOR NUMERO DOT PLACAS CIUDAD ESTADO PAIS PRECINTO EMPRESA ASEGURADORA NUM. ASEGURADORA MONTO ASEGURADO FECHA DE ASEGURADORA diff --git a/frontend/static/csv/EstructuraEncFacExpoCamReg.xls b/frontend/static/csv/EstructuraEncFacExpoCamReg.xls new file mode 100644 index 00000000..0fe4fd4c --- /dev/null +++ b/frontend/static/csv/EstructuraEncFacExpoCamReg.xls @@ -0,0 +1 @@ +PEDIMENTO REMESA NUMERO FACTURA FECHA FACTURA TIPO DE CAMBIO REGIMEN CLAVE PROVEEDOR CLAVE VENDIDO A: CLAVE ENVIADO A AGENTE ADUANAL CLAVE TRANSPORTISTA NOMBRE CONDUCTOR TIPO TRANSPORTE NUMERO TRANSPORTE TIPO MONEDA CLAVE MONEDA FLETES VALOR SEGUROS SEGUROS EMBALAJES OTROS INCREMENTABLES CLAVE INCOTERM PRECINTO TIPO PESO MANIFIESTO E-DOCUMENT NUM. OPERACION ENVIADO POR ADUANA DE CRUCE OBSERVACIONES E OBSERVACIONES I FACTURA ALTERNA diff --git a/frontend/static/csv/EstructuraEncFacImpoDef.xls b/frontend/static/csv/EstructuraEncFacImpoDef.xls new file mode 100644 index 00000000..2708c0ed --- /dev/null +++ b/frontend/static/csv/EstructuraEncFacImpoDef.xls @@ -0,0 +1 @@ +PEDIMENTO REMESA NUMERO FACTURA FECHA FACTURA TIPO DE CAMBIO REGIMEN CLAVE PROVEEDOR CLAVE VENDIDO A: CLAVE ENVIADO A AGENTE ADUANAL CLAVE TRANSPORTISTA NOMBRE CONDUCTOR TIPO TRANSPORTE NUMERO TRANSPORTE TIPO MONEDA CLAVE MONEDA FLETES VALOR SEGUROS SEGUROS EMBALAJES OTROS INCREMENTABLES CLAVE INCOTERM PRECINTO FECHA EMISION TIPO PESO E-DOCUMENT NUM. OPERACION ADUANA DE CRUCE OBSERVACIONES E OBSERVACIONES I diff --git a/frontend/static/csv/EstructuraEncFacImpoTemp.xls b/frontend/static/csv/EstructuraEncFacImpoTemp.xls new file mode 100644 index 00000000..13fcbd22 --- /dev/null +++ b/frontend/static/csv/EstructuraEncFacImpoTemp.xls @@ -0,0 +1 @@ +PEDIMENTO REMESA NUMERO FACTURA FECHA FACTURA TIPO DE CAMBIO REGIMEN CLAVE PROVEEDOR CLAVE VENDIDO A: CLAVE ENVIADO A AGENTE ADUANAL CLAVE TRANSPORTISTA NOMBRE CONDUCTOR TIPO TRANSPORTE NUMERO TRANSPORTE TIPO MONEDA CLAVE MONEDA FLETES VALOR SEGUROS SEGUROS EMBALAJES OTROS INCREMENTABLES CLAVE INCOTERM PRECINTO FECHA EMISION TIPO PESO E-DOCUMENT NUM. OPERACION ADUANA DE CRUCE OBSERVACIONES E OBSERVACIONES I FACTURA ALTERNA diff --git a/frontend/static/csv/EstructuraParExpoCamReg.xls b/frontend/static/csv/EstructuraParExpoCamReg.xls new file mode 100644 index 00000000..76bd69af --- /dev/null +++ b/frontend/static/csv/EstructuraParExpoCamReg.xls @@ -0,0 +1 @@ +NUMERO FACTURA EXPO. LINEA EXPO. TIPO DE IMPO. FACTURA IMPO. LINEA IMPO. GENERA DESCARGA CANTIDAD EXPORTADA/DESCARGAR COSTO UNITARIO PESO NETO PESO BRUTO SE PAGO IMPUESTO? (SI o NO) FORMA DE PAGO DESCRIPCION EXTRA INFORMACION ADICIONAL AGREGAR(A)/SUSTITUIR(S) LOTE NUMERO ENTRADA ES PARTIDA/SUBPARTIDA LINEA PRINCIPAL FRACCION AMERICANA FRACCION ARANCELARIA diff --git a/frontend/static/csv/EstructuraParFacImpoDefAF.xls b/frontend/static/csv/EstructuraParFacImpoDefAF.xls new file mode 100644 index 00000000..93bcae74 --- /dev/null +++ b/frontend/static/csv/EstructuraParFacImpoDefAF.xls @@ -0,0 +1 @@ +NUMERO FACTURA LINEA CLASE CANTIDAD IMPORTADA UNIDAD DE MEDIDA COSTO UNITARIO PESO NETO PESO BRUTO CANTIDAD BULTOS CLAVE BULTOS PAIS ORIGEN FRACCION ARANCELARIA PREFERENCIA ARANCELARIA SECTOR FRACCION AMERICANA ORDEN DE COMPRA DESCRIPCION ESPAÑOL DESCRIPCION INGLES MARCA MODELO ES PARTIDA O SUBPARTIDA LINEA PRINCIPAL NUM. PARTE SE PAGO IMPUESTO? (SI o NO) FORMA DE PAGO METODO DE VALORACION DESCRIPCION EXTRA INFORMACION ADICIONAL AGREGAR(A)/SUSTITUIR(S) VALOR TOTAL LOTE NUMERO ENTRADA ID TYPE diff --git a/frontend/static/csv/EstructuraParFacImpoTempAF.xls b/frontend/static/csv/EstructuraParFacImpoTempAF.xls new file mode 100644 index 00000000..cc78d0b5 --- /dev/null +++ b/frontend/static/csv/EstructuraParFacImpoTempAF.xls @@ -0,0 +1 @@ +NUMERO FACTURA LINEA CLASE CANTIDAD IMPORTADA UNIDAD DE MEDIDA COSTO UNITARIO PESO NETO PESO BRUTO CANTIDAD BULTOS CLAVE BULTOS PAIS ORIGEN FRACCION ARANCELARIA PREFERENCIA ARANCELARIA SECTOR FRACCION AMERICANA ORDEN DE COMPRA DESCRIPCION ESPAÑOL DESCRIPCION INGLES MARCA MODELO ES PARTIDA O SUBPARTIDA LINEA PRINCIPAL NUM. PARTE SE PAGO IMPUESTO? (SI o NO) FORMA DE PAGO METODO DE VALORACION DESCRIPCION EXTRA INFORMACION ADICIONAL AGREGAR(A)/SUSTITUIR(S) TOTAL NUMERO ENTRADA LOTE ID TYPE