...
6.2. Información Adicional en Detalles
Objetivo
Con el fin de agregar información adicional en el XML de cada comprobante, se necesita realizar dos mejoras en NetOffice para poder establecer una lista de descuentos.
Nueva Tabla
Se crea una nueva tabla de base de datos que se llama dbo.File_Servicios_Detalle_Descuento con el fin de almacenar el listado de descuentos que informa NetSuite, para cada servicio importado.
Dicha tabla contiene los siguientes campos:
Id_File → ID del File
SecuenServicio → Secuencia del servicio con descuento
SecuenServicioDetalle → Secuencia del detalle del servicio con descuento
ID Descuento → ID de descuento (consecutivo que genera NetOffice automáticamente)
Código Descuento → DiscountTypeId de Netsuite
Tipo Descuento → Category de descuento informado por NetSuite (subsidio o descuento)
Es Subsidio → True o False para identificar si es un subsidio
% Descuento → Porcentaje de descuento. Se calcula haciendo Importe Descuento / Tarifa del servicio * 100
Importe Descuento → Importe de descuento
Cambios en Importer Web
Se modifica el Importer Web porque si bien se lee la lista de descuentos que informa NetSuite en el TravelItineraryService, el importe se almacena de forma consolidada en un único campo del servicio llamado “DescImpor” en la tabla dbo.File_Servicios_Detalle.
Por lo tanto, se continua leyendo dicha lista de descuentos como hasta ahora del nodo <Discounts> pero la misma se almacena en la nueva tabla dbo.File_Servicios_Detalle_Descuento.
Nueva Vista
Se crea una nueva vista “Listado de Descuentos” que incluye la siguiente información:
Expediente → Id_File
Referencia Front → ID de NetSuite
Orden → Campo Orden del File
Secuencia Servicio → Secuencia del Servicio
Secuencia Servicio Detalle → Secuencia del detalle del Servicio
Tipo de Producto → Código de producto (AI, AN, HI, HN, etc)
Producto → Descripción del producto (Aéreo Internacional, etc)
Sub Tipo de Vario → Tipo de Vario (Aventira, Traslados, Actividades)
Fecha Emisión → Fecha de emisión del servicio
Fecha Inicio → Fecha de inicio del servicio
Fecha Fin → Fecha de finalización del servicio
Estado Servicio → Descripción del estado del servicio (Reservado, Facturado, etc)
Importe Cliente → Precio de Venta
Importe Proveedor → Costo
Tipo Descuento → Descripción del tipo de descuento (Descuento, Subsidio, etc)
% Descuento → Porcentaje del descuento
Es Subsidio → Indicador de subsidio o descuento
Importe Descuento → Monto del descuento
Pasajero → Nombre y apellido del pasajero
Tipo Documento Pasajero → Tipo de identificación del pasajero
Número documento pasajero → Identificación del pasajero
Ajuste en Facturación Electrónica con Carvajal vía webservice
Se modifica el comportamiento del campo DSC_6 para informar allí la descripción de los descuentos/subsidios.
Si el servicio tiene descuento, se envía en DSC_6 el tipo de descuento de la tabla nueva dbo.File_Servicios_Detalle_Descuento.
Si es subsidio se manda "Subsidio", si es descuento se manda "Descuento".
Si el comprobante tiene un concepto con signo negativo, se envía la descripción de dicho concepto en el DSC_6.
Si hay servicios con descuento y subsidio (ambos), se envía "Subsidio".
Si hay servicios con descuento y subsidio y además un concepto negativo, se envía "Subsidio".
Cada comprobante solo puede tener un nodo DSC.
Primero se crea un nodo DSC si hay descuentos o subsidios de los servicios por el total.
Luego si hay conceptos negativos, para cada uno se revisa si ya existe un DSC en el comprobante.
Si existe, acumula el importe del mismo en el DSC preexistente manteniendo la descripción del DSC_6.
Si NO existe, crea un nodo DSC con la descripción del concepto.
Ajustes en Exporter XML
Información Adicional en Cabecera
Se modifican los siguientes campos en el XML de todos los tipos de comprobantes a nivel de cabecera:
Descuento → Lista de descuentos por comprobante.
CódigoDescuento → Código del tipo de descuento (subsidio o descuento) almacenado en la nueva tabla dbo.File_Servicios_Detalle_Descuento.
TipoDescuento → Descripción del tipo de descuento (subsidio o descuento) almacenado en la nueva tabla dbo.File_Servicios_Detalle_Descuento.
ImporteDescuento → Importe del descuento consolidado por tipo de descuento. Se debe tomar la información de la nueva tabla dbo.File_Servicios_Detalle_Descuento.
EsSubsidio → true o false
Por ejemplo, si un comprobante tiene un servicio con 1 subsidio y 2 descuentos, en la nueva colección aparecen dos nodos, uno por el subsidio con su respectivo importe y uno por el descuento con los 2 valores sumados.
Este manejo aplica unicamente para Factura y Nota de Crédito de cliente.
Información Adicional en Detalles
Se agregan los siguientes campos en el XML de todos los tipos de comprobantes a nivel de detalle:
Descuentos → Lista de descuentos por cada detalle.
CódigoDescuento → Código del tipo de descuento (subsidio o descuento) almacenado en la nueva tabla dbo.File_Servicios_Detalle_Descuento.
TipoDescuento → Descripción del tipo de descuento (subsidio o descuento) almacenado en la nueva tabla dbo.File_Servicios_Detalle_Descuento.
ImporteDescuento → Importe del descuento consolidado por tipo de descuento. Se debe tomar la información de la nueva tabla dbo.File_Servicios_Detalle_Descuento.
EsSubsidio → true o false
Por ejemplo si un servicio tiene 1 subsidio y 2 descuentos, en la nueva colección aparecen dos nodos, uno por el subsidio con su importe y uno por el descuento con los 2 valores sumados.
Este manejo aplica unicamente para Factura y Nota de Crédito de cliente.