...
5. Almacenamiento de XML y Log en S3
Objetivo
El objetivo de esta herramienta es generar archivos en formato XML de cada comprobante generado dentro del sistema. Permite generar archivos XMLs con toda la información necesaria de facturas, notas de crédito, recibos, etc.
...
CotizacionBase: [double] Es la cotización o tasa de cambio entre la moneda del comprobante y moneda base. No se informa en Transferencias de Caja.
CotizacionAlter: [double] Es la cotización o tasa de cambio entre la moneda del comprobante y moneda alternativa. No se informa en Transferencias de Caja.
Total: [double] Es el importe total del comprobante en la moneda del mismo. No se informa En en Transferencias de Caja se informa siempre en moneda base.
TotalAlter: [double] Es el importe total del comprobante en moneda alternativa. No se informa en Transferencias de Caja.
TotalBase: [double] Es el importe total del comprobante en moneda base. No se informa en Transferencias de Caja.
Puntos: [double] Es la cantidad de puntos aplicados al comprobante.
Reintegro: [double] Es el importe de reintegro de IVA en comprobantes T de Argentina.
CódigoCajaOrigen, DescripciónCajaOrigen, CódigoCajaDestino y DescripciónCajaDestino: [int] y [string, 100] Son el código y descripción de las cajas origen y destino respectivamente. Solo se informan en Transferencias de Caja. Ver mas.
Letra: [string, 1] Es la letra del comprobante. La letra no se utiliza en todos los países. Se informa únicamente en Factura, Nota de débito y nota de crédito de cliente. Y también en Factura y Nota de Crédito proveedor.
CajaOrigenBanco y CajaDestinoBanco: [string, 5] Indica si la caja origen y destino son de tipo banco o no. Solo se informan en Transferencias de Caja. Los valores posibles son 'true' y 'false'.
CajaOrigenDescripción y CajaDestinoDescripción: [string, 100] Son la caja origen y destino del comprobante. Solo se informan en liquidaciones de valores. Para Versión 3.4.0.0 y Posteriores. estos campos se eliminaron y esta información se incluye en los campos DescripciónCajaOrigen y DescripciónCajaDestino respectivamente.
Cliente: SubSección opcional, solo se informa en comprobantes con Cliente (Factura cliente, nota crédito cliente, nota débito cliente, recibo cliente, orden de pago cliente y cruce de documentos de cliente). Ver detalle mas abajo.
Proveedor: SubSección opcional, solo se informa en comprobantes con Proveedor (Factura proveedor, nota crédito proveedor y , orden de pago proveedor y cruce de documentos de proveedor y mixtos). Ver detalle mas abajo.
Asesor: SubSección asesor, se informa en todos los comprobantes (actualmente no se visualiza en liquidaciones, factura de proveedor y nota crédito de proveedor). Ver detalle mas abajo. Para Versión 3.4.0.0 y Posteriores.
Moneda: [string, 5] Es la moneda del comprobante. Se indica con el código IATA de monedas. No se informa en En Transferencias de Caja se informa siempre moneda base.
BaseImponible y Alicuota: [double] y [double] Son la base imponible y alícuota de un concepto en el comprobante parametrizado con porcentaje. Solo se informa en Factura, nota de crédito y nota de débito de cliente en caso de tener al menos un concepto con porcentaje. En caso que el comprobante tenga dos o mas conceptos con porcentaje solo se vera la información de uno de ellos.
Detalles: SubSección opcional, solo se informa en comprobantes con Detalles (Factura cliente, nota crédito cliente, nota débito cliente, recibo cliente, factura proveedor, nota crédito proveedor y orden de pago proveedor). Ver detalle mas abajo.
Valores: SubSección opcional, solo se informa en comprobantes con Valores (Recibo cliente, orden pago cliente, orden pago proveedor, ingreso de caja, egreso de caja, transferencia de caja y liquidación de valores ). Ver detalle mas abajo.
Imputaciones: SubSección opcional, solo se informa en comprobantes con Imputaciones (Nota crédito cliente, Recibo cliente, orden pago cliente, nota crédito proveedor, orden pago proveedor y cruce de documentos ). Ver detalle mas abajo.
Impuestos: SubSección opcional, solo se informa en comprobantes con Impuestos (Orden pago cliente y orden pago proveedor). Ver detalle mas abajo.
...
Codigo: [int] Identificador de proveedor.
Nombre: [string, 100] Nombre comercial del proveedor.
RazonSocial: [string, 100] Razón social del proveedor.
TipoIdentificacion: [string 5] Es el tipo de identificación del proveedor. Por ejemplo el cedula o pasaporte. Para Versión 3.4.0.0 y Posteriores.
NumeroIdentificacion: [string, 25] Es el número de identificación del proveedor. Por ejemplo el numero de cedula o de pasaporte. Para Versión 3.4.0.0 y Posteriores.
SubSección Prestador
Bloque de código |
---|
<Prestador>
<Codigo>1</Codigo>
<Nombre />
<RazonSocial>Razón Social</RazonSocial>
<TipoIdentificacion>1</TipoIdentificacion>
<NumeroIdentificacion>12345678</NumeroIdentificacion>
</Prestador> |
Código: [int] Identificador de prestador.
Nombre: [string, 200] Nombre comercial del prestador.
RazonSocial: [string, 200] Razón social del prestador.
TipoIdentificación: [string, 5] Es el tipo de identificación del prestador. Por ejemplo el cedula o pasaporte. Para Versión 3.4.0.0 y Posteriores.
NumeroIdentificación: [string, 32] Es el número de identificación del prestador. Por ejemplo el numero de cédula o de pasaporte. Para Versión 3.4.0.0 y Posteriores.
SubSección Asesor
Para Versión 3.4.0.0 y Posteriores.
...
Cruces de documentos
Los cruces de documentos pueden ser de tipo:
Cliente, todos los comprobantes relacionados en el cruce, son de cliente.
Proveedor, todos los comprobantes relacionados en el cruce, son de proveedor.
Mixtos, hay comprobantes relacionados de cliente y de proveedor, adicional el cliente y proveedor estan relacionados en los maestros de cliente y proveedor.
Al generar el XML de un cruce solo se informa uno de los nodos Cliente o Proveedor. Si es un cruce de tipo proveedor o mixto se informa el nodo proveedor y si es un cruce de tipo cliente se informa el nodo cliente.
SubSección Prestador
Bloque de código |
---|
<Prestador> <Codigo>1</Codigo> <Nombre>Juan<Nombre Perez</Nombre>> <RazonSocial<RazonSocial>Razón Social</>RazonSocial> <TipoIdentificacion<TipoIdentificacion>1</>TipoIdentificacion> <NumeroIdentificacion>12345678</NumeroIdentificacion> </Asesor>Prestador> |
CodigoCódigo: [int] Identificador de asesorprestador.
Nombre: [string, 100200] Nombre comercial del asesorprestador.
RazonSocial: Siempre vacio.
TipoIdentificacion: Siempre vacio.
NumeroIdentificacion[string, 200] Razón social del prestador.
TipoIdentificación: [string, 5] Es el tipo de identificación del prestador. Por ejemplo el cedula o pasaporte. Para Versión 3.4.0.0 y Posteriores.
NumeroIdentificación: [string, 5032] Es el número de identificación del asesorprestador. Por ejemplo el numero de cedulacédula o de pasaporte. Para Versión 3.4.0.0 y Posteriores.
SubSección
...
Asesor
Para Versión 3.4.0.0 y Posteriores.
Bloque de código |
---|
<Asesor> <Detalle> <Codigo>1</Codigo> <Codigo>AN-</Codigo> <Descripcion>F:1 TN:9383768316 A:AV</Descripcion><Nombre>Juan Perez</Nombre> <RazonSocial <CostoVenta>23270</CostoVenta>> <TipoTarifa>TP<<TipoIdentificacion/TipoTarifa>> <TasaConversion>3027.55</TasaConversion> <ImporteTarifaServicio>17900</ImporteTarifaServicio> <ImporteIVAServicio>5370</ImporteIVAServicio> <ImporteImpoconsumoServicio>0</ImporteImpoconsumoServicio> <ImporteDescuentoServicio>0</ImporteDescuentoServicio> <ImporteOtrosImpuestosServicio>0</ImporteOtrosImpuestosServicio> <Importes /><NumeroIdentificacion>12345678</NumeroIdentificacion> </Asesor> |
Codigo: [int] Identificador de asesor.
Nombre: [string, 100] Nombre del asesor.
RazonSocial: Siempre vacio.
TipoIdentificacion: Siempre vacio.
NumeroIdentificacion: [string, 50] Es el número de identificación del asesor. Por ejemplo el numero de cedula.
SubSección Detalles
Bloque de código |
---|
<Detalle> <Codigo>AN-</Codigo> <Descripcion>F:1 TN:9383768316 A:AV</Descripcion> <Proveedor <CostoVenta>23270</>CostoVenta> <Prestador<TipoTarifa>TP</TipoTarifa> /> </Detalle> |
Es una colección de objetos 'Detalle' cada 'Detalle' representa una linea de detalle del comprobante.
Código y Descripción: [string, 5] y [string, 150] Es el código y la descripción del servicio o concepto.
Bloque de código |
---|
Código y descripción de servicios <TasaConversion>3027.55</TasaConversion> <ImporteTarifaServicio>17900</ImporteTarifaServicio> AI<ImporteIVAServicio>5370</ImporteIVAServicio> - Aereo Internacional <ImporteImpoconsumoServicio>0</ImporteImpoconsumoServicio> AN - Aereo Nacional <ImporteDescuentoServicio>0</ImporteDescuentoServicio> BI - Barco Internacional <ImporteOtrosImpuestosServicio>0</ImporteOtrosImpuestosServicio> BN - Barco Nacional<Importes /> HI - Hotel Internacional<Proveedor /> HN - Hotel Nacional<Prestador /> PI - Paquete Internacional PN - Paquete Nacional RI - Rent a Car </Detalle> |
Es una colección de objetos 'Detalle' cada 'Detalle' representa una linea de detalle del comprobante.
Código y Descripción: [string, 5] y [string, 150] Es el código y la descripción del servicio o concepto.
Bloque de código |
---|
Código y descripción de servicios AI - Aereo Internacional AN - Aereo Nacional BI - Barco Internacional RNBN - Rent a CarBarco Nacional SIHI - AsistenciaHotel Internacional SNHN - AsistenciaHotel Nacional VIPI - VarioPaquete Internacional VNPN - VarioPaquete Nacional Para los servicios VARIO, se concatena el código de subtipo, según tabla tipo. |
...
RI - Rent a Car Internacional
RN - Rent a Car Nacional
SI - Asistencia Internacional
SN - Asistencia Nacional
VI - Vario Internacional
VN - Vario Nacional
Para los servicios VARIO, se concatena el código de subtipo, según tabla tipo. |
Para el caso de conceptos de comprobantes, código y descripción se informan según su parametrizacion ver mas
...
Con los datos de acceso a la base de NetOffice.
Setear el nivel de detalle de Log deseado.
Setear el timer del servicio (en milisegundos).
Setear el path donde se generaran los archivos XML.
Setear el archivo de log.
2. Crear un usuario local en la pc donde correrá el servicio.
3. Darle permisos de inicio de sesión como servicio.
Panel de Control
Herramientas Administrativas
Directiva de seguridad local
Directivas locales
Asignación de derechos de usuario
Iniciar sesión como servicio
y agregar el usuario creado
4. Ejecutar el archivo Install.bat de esta misma carpeta.
5. Verificar el mensaje en pantalla, si fue satisfactorio o si solicita ajustar algo.
Al correrlo va a pedir el usuario que utilizara el servicio.
Ingresamos los datos del usuario que creamoslog.
2. Crear un usuario local en la pc donde correrá el servicio.
3. Darle permisos de inicio de sesión como servicio.
Panel de Control
Herramientas Administrativas
Directiva de seguridad local
Directivas locales
Asignación de derechos de usuario
Iniciar sesión como servicio
y agregar el usuario creado
4. Ejecutar el archivo Install.bat de esta misma carpeta.
5. Verificar el mensaje en pantalla, si fue satisfactorio o si solicita ajustar algo.
Al correrlo va a pedir el usuario que utilizara el servicio.
Ingresamos los datos del usuario que creamos.
Almacenamiento de XML y Log en S3 (WI 90425)
A partir de la version 3.6.1.15, es posible almacenar los archivos XMLs y logs del exporter XML en S3.
Para esto se deben seguir los siguientes pasos:
n el archivo de configuracion se agregan las siguientes opciones:
<add key="AWS:enable" value="true"/>
<add key="AWS:region" value="us-east-1"/>
<add key="AWS:accessKey" value="AKIAQSSJCI3BKONXUM32"/>
<add key="AWS:secretKey" value="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"/>
<add key="AWS:bucket" value="netoffice-exporter-testing"/>
AWS:enable: cuando esta key esta en true los .xml de los comprobantes y los archivos de logs se guardaran en S3, si se encuentra en false, no se guardan en S3 si no en la carpeta especificada en el mismo archivo de configuracion.
AWS:region: jamas modificar, region del servidor S3
AWS:accessKey y AWS:secretKey: son las credenciales en AWS que permiten el acceso al Bucket
AWS:bucket: es el nombre del contenedor en AWS que guardara los archivos en S3.
NOTA: a partir de este cambio el exporter XML requiere el framework .net 4.5.