Sincronizador

Registro del cliente.

Antes de configurar y poner en marcha el sincronizador es necesario que ya su empresa este registrada en la plataforma de soportec, una vez registrada se le asignará tres llaves con las cuales deberá configurar el sync (sincronizador)

Estructura de tablas

Las estructuras estan hechas para SQL server, haga las modificaciones necesarias para ejecutarlas en las versiones de MySql o Oracle que ud. maneje si es necesario

Encabezado

Contiene los datos de encabezado del comprobante


CREATE TABLE encabezado (
		  id int IDENTITY(1,1) NOT NULL, 
		  clave varchar(50) DEFAULT NULL,
		  tipo_documento varchar(2) DEFAULT NULL,
		  fecha datetime DEFAULT '1900-01-01 00:00:00',
		  consecutivo_origen varchar(10) NOT NULL,
		  consecutivo_incompleto varchar(8) DEFAULT NULL,
		  consecutivo_completo varchar(20) DEFAULT NULL,
		  receptor_incluir int DEFAULT NULL,
		  receptor_nombre varchar(100) DEFAULT NULL,			--- MODIFICADO PARA V4.3 ---
		  receptor_tipo varchar(2) DEFAULT NULL,
		  receptor_identificacion varchar(12) DEFAULT NULL,
		  pasaporte varchar(20) DEFAULT NULL,
		  ubicacion_incluir int DEFAULT NULL,
		  receptor_provincia varchar(1) DEFAULT NULL,
		  receptor_canton varchar(2) DEFAULT NULL,
		  receptor_distrito varchar(2) DEFAULT NULL,
		  receptor_direccion varchar(160) DEFAULT NULL,
		  receptor_telefono varchar(20) DEFAULT NULL,
		  receptor_fax varchar(20) DEFAULT NULL,
		  receptor_email varchar(100) DEFAULT NULL,
		  condicion_venta varchar(2) DEFAULT NULL,
		  plazo_credito int DEFAULT (0),
		  medio_pago1 varchar(2) DEFAULT NULL,
		  medio_pago2 varchar(2) DEFAULT NULL,
		  medio_pago3 varchar(2) DEFAULT NULL,
		  medio_pago4 varchar(2) DEFAULT NULL,
		  moneda varchar(3) DEFAULT NULL,
		  tipo_cambio decimal(18,5) DEFAULT (1),
		  ref_tipo_doc varchar(2) DEFAULT NULL,
		  ref_clave varchar(50) DEFAULT NULL,
		  ref_fecha datetime DEFAULT '1900-01-01 00:00:00',
		  ref_codigo varchar(2) DEFAULT NULL,
		  ref_razon varchar(180) DEFAULT NULL,
		  Otros varchar(1000) DEFAULT NULL,
		  xml varchar(8000) DEFAULT NULL,
		  estado_envio varchar(2) DEFAULT('0') NULL,				--- MODIFICADO EN V4.2 ---
		  mensaje_envio varchar(5000) DEFAULT('') NULL,
		  estado_hacienda varchar(2) DEFAULT('0') NULL,				--- MODIFICADO EN V4.2 ---
		  mensaje_hacienda varchar(5000) DEFAULT('') NULL,
		  correos_adicionales varchar(1000) DEFAULT NULL,
		  Reintentos int DEFAULT (0) NOT NULL,
		  FechaCE datetime DEFAULT '1900-01-01 00:00:00',
		  codigo_actividad varchar(6) DEFAULT NULL,					--- CAMPO NUEVO PARA V4.3 ---
		  receptor_direccion_extranjero varchar(300) DEFAULT NULL,			--- CAMPO NUEVO PARA V4.3 ---
		  iva_devuelto decimal(18,5) DEFAULT (0),					--- CAMPO NUEVO PARA V4.3 ---
		  PRIMARY KEY (id)) 

Linea

Contiene el detalle de los items o servicio que componen el comprobante

CREATE TABLE linea (
		  id_encabezado int NOT NULL,
		  clave varchar(50) DEFAULT NULL,
		  numero_linea int DEFAULT NULL,
		  tipo_cod_producto varchar(2) DEFAULT NULL,
		  codigo_producto varchar(20) DEFAULT NULL,
		  servicio int DEFAULT NULL,
		  cantidad decimal(16,3) DEFAULT NULL,
		  unidad_medida varchar(20) DEFAULT NULL,
		  detalle varchar(200) DEFAULT NULL,						--- MODIFICADO PARA V4.3 ---
		  precio_unitario decimal(18,5) DEFAULT NULL,
		  monto_total decimal(18,5) DEFAULT NULL,
		  monto_descuento decimal(18,5) DEFAULT (0),			
		  naturaleza_descuento varchar(80) DEFAULT NULL,
		  subtotal decimal(18,5) DEFAULT NULL,
		  impuesto1_codigo varchar(2) DEFAULT NULL,
		  impuesto1_porcentaje decimal(4,2) DEFAULT (0),		
		  impuesto1_monto decimal(18,5) DEFAULT (0),			
		  exoneracion1_incluir int DEFAULT (0) NULL,			
		  exoneracion1_tipo varchar(2) DEFAULT NULL,
		  exoneracion1_numero_doc varchar(40) DEFAULT NULL,				--- MODIFICADO PARA V4.3 ---
		  exoneracion1_institucion varchar(160) DEFAULT NULL,			--- MODIFICADO PARA V4.3 ---
		  exoneracion1_fecha_doc datetime DEFAULT '1900-01-01 00:00:00',
		  exoneracion1_monto_imp decimal(18,5) DEFAULT (0),		
		  exoneracion1_porc_compra int DEFAULT (0),				
		  impuesto2_codigo varchar(2) DEFAULT NULL,
		  impuesto2_porcentaje decimal(4,2) DEFAULT (0),		
		  impuesto2_monto decimal(18,5) DEFAULT '0.00000',
		  exoneracion2_incluir int DEFAULT (0) NULL,			
		  exoneracion2_tipo varchar(2) DEFAULT NULL,
		  exoneracion2_numero_doc varchar(40) DEFAULT NULL,				--- MODIFICADO PARA V4.3 ---
		  exoneracion2_institucion varchar(160) DEFAULT NULL,			--- MODIFICADO PARA V4.3 ---
		  exoneracion2_fecha_doc datetime DEFAULT '1900-01-01 00:00:00',
		  exoneracion2_monto_imp decimal(18,5) DEFAULT (0),		
		  exoneracion2_porc_compra int DEFAULT (0),				
		  monto_total_linea decimal(18,5) DEFAULT (0),		
		  codigo_hacienda varchar(13) DEFAULT NULL, 					--- CAMPO NUEVO PARA V4.3 ---
		  partida_arancelaria varchar(15) DEFAULT NULL,					--- CAMPO NUEVO PARA V4.3 ---
		  monto_descuento2 decimal(18,5) DEFAULT (0),					--- CAMPO NUEVO PARA V4.3 ---
		  naturaleza_descuento2 varchar(80) DEFAULT NULL,				--- CAMPO NUEVO PARA V4.3 ---
		  monto_descuento3 decimal(18,5) DEFAULT (0),					--- CAMPO NUEVO PARA V4.3 ---
		  naturaleza_descuento3 varchar(80) DEFAULT NULL,				--- CAMPO NUEVO PARA V4.3 ---
		  monto_descuento4 decimal(18,5) DEFAULT (0),					--- CAMPO NUEVO PARA V4.3 ---
		  naturaleza_descuento4 varchar(80) DEFAULT NULL,				--- CAMPO NUEVO PARA V4.3 ---
		  monto_descuento5 decimal(18,5) DEFAULT (0),					--- CAMPO NUEVO PARA V4.3 ---
		  naturaleza_descuento5 varchar(80) DEFAULT NULL,				--- CAMPO NUEVO PARA V4.3 ---
		  base_imponible decimal(18,5) DEFAULT (0),						--- CAMPO NUEVO PARA V4.3 ---
		  factor_iva1 decimal(5,4) DEFAULT (0),							--- CAMPO NUEVO PARA V4.3 ---
		  codigo_tarifa1 varchar(2) DEFAULT NULL,						--- CAMPO NUEVO PARA V4.3 ---
		  factor_iva2 decimal(5,4) DEFAULT (0),		  					--- CAMPO NUEVO PARA V4.3 ---
		  codigo_tarifa2 varchar(2) DEFAULT NULL,						--- CAMPO NUEVO PARA V4.3 ---
		  monto_impuesto_exportacion1 decimal(18,5) DEFAULT (0),		--- CAMPO NUEVO PARA V4.3 ---	
		  monto_impuesto_exportacion2 decimal(18,5) DEFAULT (0),		--- CAMPO NUEVO PARA V4.3 ---	
		  monto_impuesto_neto decimal(18,5) DEFAULT (0),				--- CAMPO NUEVO PARA V4.3 ---
		  unidad_medida_comercial varchar(20) DEFAULT NULL) 			--- CAMPO NUEVO PARA V4.3 ---		

Otros Cargos

Contiene el detalle de los otros cargos que pueden o no estar presentes en el comprobante

     

--- TABLA NUEVA PARA V4.3 ---
CREATE TABLE otros_cargos (
		id_encabezado int NOT NULL,
		clave varchar(50) DEFAULT NULL,
		otc_tipo varchar(2) DEFAULT NULL,
		otc_monto decimal(18,5) DEFAULT (0),
		otc_detalle varchar(160) DEFAULT NULL,
		otc_porcentaje decimal(6,5) DEFAULT (0),
		otc_nombre varchar(100) DEFAULT NULL,
		otc_identificacion varchar(12) DEFAULT NULL)

Puesta en marcha.

Puede iniciar el sincronizador de dos maneras, como una aplicación de consola o como un servicio de windows.

Modo Consola

De manera predeterminada la aplicación corre en modo consola, una vez configurado, ejecute la aplicación dando doble click sobre el ejecutable PlataformaFAS_DataSenderWindowsServices.exe

En el modo consola solo funcionan 3 comandos, P=pausa la sincronización, R=Reaunuda la sincronización y Q= cierra la consola. Esta modalidad es útil cuando se necesita supervisar lo que esta haciendo el sincronizador, para detectar problemas o cuando desee mantener a la vista el sincronizador

De esta manera usted podrá ver los errores que se esten presentando, envio, consultas, reconfiguración, o actualización del valor de la moneda USD. Podrá ver que todo este bien configurado y una vez asegurado su funcionamiento se recomienda dejarlo corriendo como servicio de windows

Modo Servicio de Windows

Una vez configurado, ejecute por medio de comandos de windows (cmd.exe) con permisos de administrador el archivo PlataformaFAS_DataSenderWindowsServices.exe --install NOMBRE_DE_SERVICIO_QUE_PREFIERA

También puede crear un acceso directo del archivo PlataformaFAS_DataSenderWindowsServices.exe, luego hacer click derecho sobre el acceso directo, seleccionar propiedades, y a continuación modifique el campo destino, dejando un espacio en blanco y luego --install NOMBRE_DE_SERVICIO_QUE_PREFIERA, aceptar y ejecute el acceso directo como administrador, luego reinicie el equipo o vaya a servicios de windows y busque e inicie el servicio.

Se recomienda ejecutar primero la aplicación modo consola, una vez verificado su conexión a la base de datos y su funcionamiento ejecutar como servicio de windows.
Para desinstalar siga los pasos de instalación, sustituyendo --install por --uninstall

Información Complementaria

La URL del API de soportec que debe especificar en la configuración en la propiedad ServerApiURI es http://www.facturasoportec.com/FEL_PRUE/ para pruebas y http://www.facturasoportec.com/FEL_PROD/ para producción

Contacte con el departamento de ventas de soportec para coordinar las pruebas de integración con el departamento de desarrollo.

Para obtener mayor información de los valores que debe contener cada campo de las tablas puede descargar el Diccionario de Datos aqui

El detalle de los cálculos, códigos, tipos y otros datos que debe almacenar se especifican en la documentación del departamento de hacienda de costa rica, especificamente en la sección de notas, al final del documento ANEXO Y ESTRUCTURAS versión 4.3. Allí también encontrará la codificación de las regiones, tipos de moneda, etc.

Para agregar valores adicionales a la factura que no son parte de la FE (campos adicionales) puede ver esta sección

Recomendaciones

Al crear las tablas, trate de mantener la estructura como se indica, no modifique ni elimine campos, sin embargo, puede agregar los campos que desee para facilitar la integración con su erp y sus controles

Simpre que desee ver el sincronizador en modo consola, asegurese de haber detenido cualquier instalación del mismo como servicio de windows

Trate de mantener una "separación lógica" entre los documentos de su erp y la facturación electrónica, es decir, su consecutivo ERP no tiene porque ser el mismo de la factura electrónica, de hecho, si usted va a comenzar con factura electrónica debe hacerlo con el consecutivo 1 asi ud ya tenga años de actividad. Por lo cual, maneje un consecutivo interno y un consecutivo para factura electrónica, puede agregar el consecutivo interno a la factura electrónica luego usando los campos adicionales . Coloque a la tabla encabezado campos que relacionen a estos con su contraparte en el ERP y no al revés

Es completamente válido que mantenga tambien la base de datos de factura electrónica separada de la de su ERP.

Recuerde que no solo su ERP colocará información en la base de datos de FE (facturación electrónica), si usted desea mostrar en su ERP reportes del estado de FE también debe extraer información de la tabla encabezado

Cree campos en las tablas para relacionar los datos con su ERP, recomendamos asignarle a la table encabezado los campos necesarios que relacionen cada documento con su contraperte en el ERP

Instale (preferiblemente) el sincronizador en el mismo servidor de la base de datos

Una vez completado el registro en la plataforma de soportec, se le asignará a un personal expecializado para guiarlo en el proceso de integración con su ERP, en Soportec estamos para servir.