Nota: al final de este documento encontrarás un video tutorial explicando el paso a paso
bFiskur ®︎ permite decir las diferencias entre lo que tu tienes registrado en el SAT y el ERP, para eso es necesario alimentar a la plataforma con la información que tienes en tu ERP. Hay varios métodos para alimentarla con tus datos, si tienes duda de cual debes de usar, consulta con tu ejecutivo, el te ayudará a seleccionar el método mas adecuado.
Los métodos son:
- A través de un correo electrónico. Es un método manual que requiere el envío de correos por parte del usuario y es el más sencillo. Basta con preparar un archivo de datos y enviarlo por correo. En automático el archivo será recibido por un robot que se encargará de validar la información y añadirla a tu bóveda. Envío layout por correo a robot.
- Usando un conector para sincronizar tu ERP directamente con bFiskur®︎ . Es un método automático pero requiere que la base de datos del ERP sea accesible a través de un driver ODBC para que la plataforma pueda extraer los datos. Es un excelente método cuando quieres que la información se sincronice sin intervención humana.
- Enviar la información al Web Service de bFiskur®︎. Es un método para enviar información de ERPs cuyo acceso directo a la base de datos está bloqueado, como lo puede ser SAP. Este método permite enviar la información ya sea usando layouts o enviando los XMLs individuales de cada CFDI.
- Desarrollar tu propio Web Service para enviar la información a bFiskur®︎, para más información puedes consultar este documento: Especificaciones para el desarrollo del Web Service para integración con el ERP
Este documento se refiere específicamente al método 3: Enviar la información al Web Service de bFiskur®︎.
Enviando layouts a bFiskur®︎ a través de del web service
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 estas 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 archivos 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