Los pasos para enviar la información a bFiskur®︎ mediante el web service son:
- Paso 1: Preparar los archivos o layouts con la información a enviar y poner esos archivos en un folder
- Paso 2: Descargar la herramienta CURL.EXE y colocar dicha herramienta en el mismo folder
- Paso 3: Preparar un BATCH que ejecute la herramienta CURL con parámetros para que se realize el envío
- Paso 4: Ejecute el BATCH desde la línea de comando y revise el resultado.
IMPORTANTE: El tamaño máximo de cada archivo xls,xlsx,csv o zip (en el caso de envío de archivos xmls) no debe excederse de 30 Megas.
Paso 1: Preparar los archivos o layouts con la información a enviar
Antes de que cualquier cosa, lo primero es preparar los layouts de datos, que no son otra cosa que archivos con información, que transmitirás a bFiskur®︎. Lo mejor es que desarrolles un proceso, para que día con día, tu ERP genere estos layouts de manera automática. Puedes encontrar aquí las especificaciones de que debe contener cada archivo o layout:
- ERP Documentos Emitidos
- ERP Documentos Recibidos
- ERP Nómina Detalle
- ERP Pagos Clientes
- ERP Pagos Proveedores
Recuerda que los layouts o archivos puede ser en formato CSV o XLSX.
IMPORTANTE: La carga y reemplazo de información en la plataforma, se realiza en base al rango de fechas contenido en el layout. Si incluyes un CFDI del 1 de Enero del 2023 y un CFDI del 15 de Febrero del 2023, entonces bFiskur® borrará primero toda la información existente entre esas 2 fechas y la reemplazará por la nueva que viene en el archivo que estás enviando.
Paso 2: Colocarlos en un folder
Una vez que tengas los archivos deberás colocarlos en un folder cualquiera. Por ejemplo: C:\bFiskur\
No necesariamente tienes que tener todos los archivos, a lo mejor solo tienes el archivo de nómina o el de recibidos. En el paso 4 verás como enviar estos archivos de manera individual usando CURL (Paso3).
Paso 3: Descargar la herramienta CURL.EXE y colocar dicha herramienta en el mismo folder
El envío de información de los layouts se hace llamando al Web Service mediante CURL que una herramienta de línea de comandos y una biblioteca de software que se utiliza para realizar transferencias de datos a través de diferentes protocolos de red. Si estás trabajando y haciendo el envío desde un servidor LINUX, este comando ya está disponible de manera natural; pero si estás usando un servidor o máquina con sistema operativo Windows, esta herramienta no viene disponible de manera natural y deberás instalarla descargándola de la red.
Nosotros recomendamos el uso de esta versión que es de código abierto y gratuito: CURL
Los pasos para instalarla son:
- Descarga aquí la última versión disponible para Windows. El formato del archivo a descargar es .zip
- Descomprime el archivo descargado en un folder cualquiera
- Copia los archivos que están en folder \bin al mismo folder dónde se encuentran los layouts
En mi caso el contenido del folder es el siguiente:
La aplicación mostrada CURl.EXE será la herramienta ejecutar para hacer el envío de información, por lo que debes asegurarte de tener los permisos necesarios para ejecutar ese comando con el usuario de Windows que utilizarás para hacer el envío.
Paso 4: Preparar un BATCH que ejecute la herramienta CURL con ciertos parámetros para que se realice el envío
Ahora lo que sigue es preparar un archivo BAT que contenga el llamado a CURL.EXE y le pase como parámetros los archivos a enviar junto con la información de seguridad necesaria para que bFiskur®︎ reciba los archivos. Recuerda que un BATCH no es otra cosa que un archivo de texto sin formato, guardados con la extensión .BAT que contienen un conjunto de instrucciones.
Los pasos para crear el archivo batch son:
- Con el bloc de notas crea un archivo vacío y grábalo con la extensión BAT en el mismo folder donde están los ZIPs conteniendo los layouts y el archivo CURL.EXE.
- Utiliza un nombre que te permita identificar el archivo fácilmente, por ejemplo: EnviarDatos.BAT
- Evita utilizar espacios en el nombre del archivo o caracteres especiales o vocales con acentos.
- El contenido del .BAT sería el siguiente:
curl --insecure -o "upload.html" -F file=@[archivo] -F sheet=[hojadedatos] -F userEmail=[usuario] -F userPassword=[contraseña] -F repositoryName=[repository] -F repositoryid=[id_repository] https://bfiskurapp.bitam.com/artus/gen903/xls_loader_bfiskur/loadservice.php
Este es el contenido del archivo a generar. Haz los siguientes remplazos por información real:
[archivo] = utiliza el nombre real del archivo, el nombre del archivo no debe tener espacios, debe tener extensión csv o xlsx
[hoja de datos]= el nombre de la hoja conteniendo los datos, ej. Sheet1$
[usuario]=utiliza aquí el valor capturado en correo para carga ERP que definiste en empresas
[Contraseña]=pon aquí el valor capturado en contraseña carga ERP que definiste en empresas.
Un ejemplo más real sería:
curl --insecure -o "upload.html" -F file=@Recibidos2.xls -F sheet=Worksheet$ -F userEmail=xxxxxxx@xxxxx.com -F userPassword=xxxxxxxxxxx -F repositoryName=fbm_bmd_0364 -F repositoryid=13386 https://bfiskurapp.bitam.com/artus/gen903/xls_loader_bfiskur/loadservice.php
Nota: el usuario y password mostrado aquí son ficticios y no corresponde
IMPORTANTE: Al copiar el comando en el archivo BAT asegúrate que todo quede en una sola línea
Paso 5: Ejecuta el BATCH desde la línea de comando y revisa el resultado.
Ahora abra una línea de comando y ejecuta el BAT escribiendo el nombre del archivo bat como se muestra en la siguiente imagen.
Una vez que termine la ejecución si el comando está bien armado y los archivos necesarios están presentes, la información será transmitida a bFiskur®︎. Para revisar que los archivos fueron recibidos, puedes dirigirte a la respectiva bóveda para verificar que la información haya sido recibida.
Conciliación de documentos XML mediante WEB Service
Esta opción su proceso de carga es muy similar, solo que en lugar de colocar el archivo xlsx o csv en la carpeta, sería colocar el archivo comprimido (.zip) con los documentos xml de cada tipo de documentos divido en 2 grupo (recibidos y emitidos)
Colocar en cada grupo los siguientes tipos de documento:
Emitidos.zip (Documentos emitidos, complementos de pagos clientes, nómina)
Recibidos.zip (Documentos recibidos, complementos de pagos proveedores)
Ejemplo, para documentos emitidos:
curl -o "response.html" -F xmlDocs=@Emitidos.zip -F TipoXML=Emitidos -F usuario=[usuario fiskur] -F password=[contraseña] https://kpionline5.bitam.com/fbm/bfiskurERPCarga/service.php
Ejemplo, para documentos recibidos:
curl -o "response.html" -F xmlDocs=@Recibidos.zip -F TipoXML=Recibidos -F usuario=[usuario fiskur] -F password=[contraseña] https://kpionline5.bitam.com/fbm/bfiskurERPCarga/service.php