Power BI con Microsip: conexión por ODBC paso a paso

Microsip guarda su información en Firebird, y Power BI no trae un conector nativo para Firebird. La forma de unirlos es un driver ODBC. Funciona, y lo usan muchas empresas, pero tiene tres detalles que casi nadie explica: el driver tiene que coincidir con tu versión de Firebird, tiene que coincidir con los bits de Power BI o de Excel, y el query tiene que saber qué ventas contar y cuáles no. Aquí están los tres.

Casi todos los tutoriales de Power BI parten de un Excel: bajas reportes de Microsip, los juntas en un archivo maestro y ese archivo lo cargas a Power BI. Así solo te ahorras el último paso, las gráficas. Esta guía conecta Power BI directo a la base de Microsip, para que nadie tenga que bajar reportes a mano.

Nota

Microsip 2026 trae Firebird 5.0, pero no lo instala si en la PC ya hay un Firebird 3.0: primero hay que desinstalar el 3.0. Microsip 2027, que se espera para mayo de 2027, solo va a funcionar con Firebird 5.0. Antes de instalar nada, revisa cuál tienes.

Flujo de datos de Microsip a Power BI Microsip, base Firebird .FDB, hacia el usuario de reportes REPORTES_BI con permiso solo de SELECT, hacia el driver ODBC de Firebird con DSN de 64 bits, hacia Power BI Desktop o Excel y, de forma opcional, hacia la puerta de enlace y el servicio de Power BI para la actualización programada. Microsip Base Firebird (.FDB) Usuario de reportes REPORTES_BI, solo SELECT Driver ODBC de Firebird DSN, 64 bits Power BI Desktop o Excel Gateway + servicio de Power BI Opcional: actualización programada Flujo de datos de Microsip a Power BI Microsip, base Firebird .FDB, hacia el usuario de reportes REPORTES_BI con permiso solo de SELECT, hacia el driver ODBC de Firebird con DSN de 64 bits, hacia Power BI Desktop o Excel y, de forma opcional, hacia la puerta de enlace y el servicio de Power BI para la actualización programada. Microsip Base Firebird (.FDB) Usuario de reportes REPORTES_BI, solo SELECT Driver ODBC de Firebird DSN, 64 bits Power BI Desktop o Excel Gateway + servicio de Power BI Opcional: actualización programada

El flujo en una frase: Microsip guarda tus datos en su base Firebird (.FDB); un usuario de reportes (REPORTES_BI), con permiso solo de SELECT, los lee por medio del driver ODBC de Firebird (DSN de 64 bits) desde Power BI Desktop o Excel; y, si quieres que se actualicen solos en la nube, de forma opcional, por medio de la puerta de enlace y el servicio de Power BI.


Antes de empezar

Qué necesitas Dónde lo consigues
Versión de Microsip y de Firebird (3.0 o 5.0) Tu distribuidor Microsip. Microsip no muestra su número de versión en pantalla (solo el año): clic derecho en Microsip.exe → Propiedades → Detalles. Firebird: en la lista de programas instalados de Windows aparece como Firebird 3.0.5.33220 (x64) o Firebird 5.0.3.1683 (x64): el primer número es tu versión
Nombre o IP del servidor donde corre Firebird Tu distribuidor o tu área de sistemas
Ruta del archivo .FDB de la empresa Normalmente dentro de la carpeta C:\Datos Microsip. Es un solo archivo por empresa con todos los módulos (ventas, inventarios, cobranza, contabilidad). Si alguien te dice que hay un VENTAS.FDB y un COMPRAS.FDB, está confundido
Un usuario para reportes Se crea una vez, dentro de Microsip (ver abajo). No uses SYSDBA para reportes
Power BI Desktop instalado Gratis, desde Microsoft Store o microsoft.com
El puerto 3050 abierto hacia el servidor, si Power BI está en otra PC Tu área de sistemas

La base de datos es de tu empresa: no necesitas permiso de Microsip para leerla. Sí conviene avisarle a tu distribuidor, porque es quien conoce tu instalación y quien la actualiza cuatro veces al año.

La contraseña de SYSDBA. Microsip instala Firebird con la contraseña de fábrica, que es pública en internet. Nuestra recomendación es que no se quede así. Cambiarla es decisión de tu distribuidor, porque es quien administra tu instalación: pregúntale si ya lo hizo.


1. Instala el driver ODBC correcto

Tu Firebird Driver Nombre que aparece en Windows
3.0 o 5.0 Firebird ODBC Driver v3.0 "Firebird ODBC Driver"
2.5 o anterior (Microsip muy viejo) Firebird ODBC Driver v2.0.5 "Firebird/InterBase(r) driver"

El driver v3.0 solo funciona con el cliente de Firebird 3.0 o superior (fbclient.dll). Si en la PC hay un fbclient.dll de la versión 2.5, no conecta. Fuente: firebirdsql.org.

32 o 64 bits

El driver tiene que tener los mismos bits que el programa que lo va a usar, no que Windows. Power BI Desktop es de 64 bits: Microsoft ya no da soporte a la versión de 32 bits. Excel puede ser de 32 o de 64: en Excel, Archivo → Cuenta → Acerca de Excel lo dice. Microsip y Excel suelen ser de 32 bits y Power BI es de 64, así que en una misma PC es normal necesitar los dos.

El driver se descarga del release oficial en GitHub (FirebirdSQL/firebird-odbc-driver, versión estable 3.0.1, archivo win_installers.zip). Después de instalar, en "Orígenes de datos ODBC (64 bits)" → pestaña Controladores aparece Firebird ODBC Driver, versión 3.00.01.18. Si vas a usar Excel de 32 bits, revisa que también aparezca en "Orígenes de datos ODBC (32 bits)"; si no, instala también el de 32 bits. Los instaladores no traen firma digital, así que Windows puede mostrar una advertencia al abrirlos.


2. Crea el usuario de reportes (dentro de Microsip)

Por qué dentro de Microsip y no directo en Firebird: cuando Microsip se actualiza a una versión nueva, la actualización borra los usuarios de Firebird que no existen como usuarios de Microsip. Si creas el usuario de reportes solo en Firebird, un día tus reportes dejan de conectar sin que nadie sepa por qué. (Dato de campo de Factor BI.)

Al pasar a Firebird 5.0 (por ejemplo, al instalar Microsip 2026), Power BI deja de conectar, porque Firebird 5.0 arranca sin ningún usuario. Para recuperarlo, en Administración del sistema → Usuarios abre el usuario de reportes, da clic en Modificar, escribe otra vez su contraseña y guarda. Los permisos del script no se pierden: no hace falta volver a correrlo.

2.1 Da de alta el usuario en Microsip

Probado en Microsip 2024 (7.20) con un usuario administrador de Microsip:

  1. Abre Microsip y, en la barra de módulos, da clic en Administración del sistema. No pide empresa.
  2. En el panel izquierdo Catálogos, da clic en Usuarios.
  3. En la barra de herramientas, da clic en Nuevo. Se abre la ventana Usuario.
  4. Pestaña General:
    • Tipo de elemento: deja Usuario.
    • Nombre: REPORTES_BI (acepta mayúsculas y guion bajo).
    • Contraseña: y Confirmación: la contraseña del usuario, de hasta 20 caracteres. Es la misma que vas a usar en Power BI o en Excel.
    • Autorizar acciones a otros usuarios: sin marcar.
    • Empresas autorizadas: Una lista, y marca solo la empresa de la que vas a sacar reportes.
    • Estatus del usuario: Activo.
  5. Pestaña Derechos: no marques nada. Microsip no obliga a dar ningún derecho.
  6. Da clic en Guardar y cerrar. El usuario aparece en la lista.

Al guardar, Microsip crea el usuario también en Firebird, con la misma contraseña. Todavía no puede leer ninguna tabla: eso lo da el script del paso 2.2.

Opcional: si no quieres que ese usuario entre a Microsip, ábrelo, da clic en Modificar (el lápiz), cambia Estatus del usuario a Baja y guarda. Microsip ya no lo deja iniciar sesión, pero la conexión de Power BI y Excel sigue funcionando.

El usuario de reportes no tiene derechos en ningún módulo de Microsip, así que no usa licencia.

2.2 Dale permiso de lectura con un script

Firebird no tiene un "dar lectura a todo" en un solo comando. Este script da SELECT sobre las tablas que se usan para reportes (las 172 que sincroniza Vansync), se salta las que no existan en tu versión y se puede volver a correr sin problema.

-- Factor BI · https://factorbi.github.io/microsip/power-bi/
-- Licencia MIT · Copyright (c) 2026 Factor BI
-- Probado con Firebird 3.0; los permisos funcionan en Firebird 5.0.
SET TERM ^ ;
EXECUTE BLOCK AS
  DECLARE VARIABLE T VARCHAR(63);
BEGIN
  FOR SELECT TRIM(RDB$RELATION_NAME) FROM RDB$RELATIONS
      WHERE RDB$VIEW_BLR IS NULL
        AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0)
        AND TRIM(RDB$RELATION_NAME) IN (
          'AGENTES', 'ALMACENES', 'ANTICIPOS_CC', 'ARTICULOS',
          'ARTICULOS_DISCRETOS', 'BANCOS', 'BENEFICIARIOS', 'CAJAS',
          'CAJEROS', 'CENTROS_COSTO', 'CFD_RECIBIDOS', 'CIUDADES',
          'CLASIFICADORES_CAT', 'CLASIFICADORES_CAT_VALORES', 'CLAVES_ARTICULOS', 'CLAVES_CAT_SEC',
          'CLAVES_CLIENTES', 'CLAVES_PROVEEDORES', 'CLIENTES', 'COBRADORES',
          'CONCEPTOS_BA', 'CONCEPTOS_CC', 'CONCEPTOS_CP', 'CONCEPTOS_EMP',
          'CONCEPTOS_IN', 'CONCEPTOS_NO', 'CONDICIONES_PAGO', 'CONDICIONES_PAGO_CP',
          'CONSIGNATARIOS_CM', 'CUENTAS_BANCARIAS', 'CUENTAS_CO', 'DEPOSITOS_CC',
          'DEPOSITOS_CC_DET', 'DEPTOS_CO', 'DEPTOS_NO', 'DESGLOSE_EN_DISCRETOS',
          'DESGLOSE_EN_DISCRETOS_CM', 'DESGLOSE_EN_DISCRETOS_INVFIS', 'DESGLOSE_EN_DISCRETOS_PV', 'DESGLOSE_EN_DISCRETOS_VE',
          'DIRS_CLIENTES', 'DOCTOS_BA', 'DOCTOS_BA_INFO_BAN', 'DOCTOS_CC',
          'DOCTOS_CC_INFO_BAN', 'DOCTOS_CM', 'DOCTOS_CM_DET', 'DOCTOS_CM_LIGAS',
          'DOCTOS_CM_LIGAS_DET', 'DOCTOS_CO', 'DOCTOS_CO_CFDI', 'DOCTOS_CO_DET',
          'DOCTOS_CO_DET_CFDI', 'DOCTOS_CO_DET_INFO_BAN', 'DOCTOS_CP', 'DOCTOS_CP_INFO_BAN',
          'DOCTOS_ENTRE_SIS', 'DOCTOS_IN', 'DOCTOS_IN_DET', 'DOCTOS_IN_DET_COMPRAS',
          'DOCTOS_PROC_CANCEL', 'DOCTOS_PV', 'DOCTOS_PV_COBROS', 'DOCTOS_PV_DET',
          'DOCTOS_PV_LIGAS', 'DOCTOS_PV_LIGAS_DET', 'DOCTOS_VE', 'DOCTOS_VE_DET',
          'DOCTOS_VE_LIGAS', 'DOCTOS_VE_LIGAS_DET', 'EDOSCTA_BA', 'EDOSCTA_BA_DET',
          'ELEMENTOS_CAT_CLASIF', 'EMPLEADOS', 'ESTADOS', 'EXCEP_EMPLEADOS',
          'EXCEP_GENERALES', 'EXIS_DISCRETOS', 'FORMAS_COBRO', 'FORMAS_COBRO_CC',
          'FORMAS_COBRO_CLIENTES', 'FORMAS_COBRO_DOCTOS', 'FORMATOS_EDOFIN', 'FORMATOS_EDOFIN_DET',
          'GRUPOS_CUENTAS', 'GRUPOS_CUENTAS_DET', 'GRUPOS_LINEAS', 'HISTORIA_CAMBIARIA',
          'IMPORTES_DOCTOS_CC', 'IMPORTES_DOCTOS_CC_IMPTOS', 'IMPORTES_DOCTOS_CP', 'IMPORTES_DOCTOS_CP_IMPTOS',
          'IMPUESTOS', 'IMPUESTOS_ARTICULOS', 'IMPUESTOS_DOCTOS_CM', 'IMPUESTOS_DOCTOS_PV',
          'IMPUESTOS_DOCTOS_PV_DET', 'IMPUESTOS_DOCTOS_VE', 'JUEGOS_DET', 'LIBRES_ARTICULOS',
          'LIBRES_CARGOS_CC', 'LIBRES_CARGOS_CP', 'LIBRES_CLIENTES', 'LIBRES_COM_CM',
          'LIBRES_COT_VE', 'LIBRES_CREDITOS_CC', 'LIBRES_CREDITOS_CP', 'LIBRES_CTAS_BAN',
          'LIBRES_CUENTAS_CO', 'LIBRES_DEVCOM_CM', 'LIBRES_DEVFAC_VE', 'LIBRES_DEVREC_CM',
          'LIBRES_DEVREM_VE', 'LIBRES_ENTRADAS_IN', 'LIBRES_FAC_VE', 'LIBRES_OCO_CM',
          'LIBRES_PED_VE', 'LIBRES_POL_CO', 'LIBRES_PROVEEDOR', 'LIBRES_REC_CM',
          'LIBRES_REM_VE', 'LIBRES_SALIDAS_IN', 'LINEAS_ARTICULOS', 'LISTAS_ATRIBUTOS',
          'LUGARES_EXPEDICION', 'MONEDAS', 'MOVTOS_CAJAS', 'MOVTOS_CAJAS_CAJEROS',
          'MOVTOS_CAJAS_FONDO', 'MOVTOS_EFVO_CAJA', 'NIVELES_ARTICULOS', 'NOMINAS',
          'PAGOS_NOMINA', 'PAGOS_NOMINA_DET', 'PAGOS_NOMINA_VAC', 'PAISES',
          'PEDIMENTOS', 'PLAZOS_COND_PAG', 'PLAZOS_COND_PAG_CP', 'POLITICAS_COMISIONES_VENDEDORES',
          'PRESUPUESTOS', 'PROVEEDORES', 'PUESTOS_NO', 'REGISTRY',
          'REPOSITORIO_CFDI', 'RFCS_LCO', 'ROLES_CLAVES_ARTICULOS', 'ROLES_CLAVES_CLIENTES',
          'ROLES_CLAVES_PROVEEDORES', 'SALDOS_BA', 'SALDOS_CC', 'SALDOS_CO',
          'SALDOS_CP', 'SALDOS_IN', 'SUCURSALES', 'SUCURSALES_CATALOGOS',
          'SUCURSALES_CATALOGOS_DET', 'TIPOS_CLIENTES', 'TIPOS_IMPUESTOS', 'TIPOS_POLIZAS',
          'TIPOS_PROV', 'TRASPASOS_BA', 'USOS_ANTICIPOS_CC', 'USOS_FOLIOS_FISCALES',
          'USOS_FOLIOS_FISCALES_CANCELADOS', 'VENCIMIENTOS_CARGOS_CC', 'VENCIMIENTOS_CARGOS_CM', 'VENCIMIENTOS_CARGOS_CP',
          'VENCIMIENTOS_CARGOS_VE', 'VENDEDORES', 'VIAS_EMBARQUE', 'ZONAS_CLIENTES'
        )
      INTO :T
  DO
  BEGIN
    EXECUTE STATEMENT 'GRANT SELECT ON "' || :T || '" TO USER REPORTES_BI';
  END
END^
SET TERM ; ^
COMMIT;

El script se corre como SYSDBA en IBExpert (o la herramienta que use tu distribuidor). Si tu usuario no se llama REPORTES_BI, cambia el nombre en la línea del GRANT SELECT.


3. Configura el DSN

  1. Abre "Orígenes de datos ODBC (64 bits)".
  2. Pestaña DSN de sistema → Agregar.
  3. Elige "Firebird ODBC Driver" → Finalizar.

Se abre la ventana Firebird ODBC Setup (en inglés aunque Windows esté en español). No pide permisos de administrador. Llena la tabla:

Campo (como aparece) Valor de ejemplo Nota
Data Source Name (DSN) Microsip_Reportes El nombre que vas a elegir en Power BI
Database localhost:C:\Datos Microsip\EMPRESA.FDB En la misma PC funcionan localhost:ruta, localhost/3050:ruta y la ruta sola. Una ruta con espacios no lleva comillas
Client vacío Vacío usa el fbclient.dll de Windows. Llénalo solo si hay varias versiones de Firebird en la PC
Database Account / Password REPORTES_BI / la que definiste en Microsip Nunca SYSDBA. El DSN no guarda la contraseña de forma que sirva: Power BI y Excel te la piden al conectar
Role vacío No escribas ningún rol
Character Set NONE (viene por defecto) Con NONE los acentos y la ñ salen bien

Al final, Test connection debe decir "Connection successful!". Si Excel es de 32 bits, repite lo mismo en "Orígenes de datos ODBC (32 bits)" con el mismo nombre de DSN: Windows acepta los dos.

Cadena de conexión (sin DSN)

Driver={Firebird ODBC Driver};Dbname=localhost:C:\Datos Microsip\EMPRESA.FDB;Uid=REPORTES_BI;Pwd=****;Charset=NONE;

Útil si no quieres crear el DSN en cada PC. También funcionan las llaves Database=, User= y Password= en lugar de Dbname=, Uid= y Pwd=.


4. Conecta Power BI

  1. En la pantalla de inicio, Obtener datos de otros orígenes. En la ventana Obtener datos, escribe ODBC en el buscador, elige ODBC y da clic en Conectar.
  2. En Nombre de origen de datos (DSN) elige Microsip_Reportes.
  3. Abre Opciones avanzadas y pega el query de ventas en Instrucción SQL (opcional). Aceptar.
  4. En las credenciales elige Base de datos y escribe REPORTES_BI y su contraseña.
  5. En la vista previa, Cargar. Con ODBC, Power BI importa los datos: no ofrece DirectQuery.
  6. Para traer datos nuevos: Actualizar, en la cinta Inicio.

Cuida tu servidor de Firebird (no es un tema menor)

Power BI no le pregunta a tu servidor si puede. Al actualizar, carga varias tablas en paralelo: cada tabla o consulta es un query distinto contra Firebird, todos al mismo tiempo, y el gateway hace lo mismo cada vez que se programa la actualización. Es muy común que el servidor de Microsip sea una PC con pocos recursos, y que Firebird ya vaya lento porque la base creció. Si los queries de Power BI le caen encima en horario de operación, el que lo sufre son tus usuarios de Microsip.

  • Un solo query bien filtrado en lugar de muchas tablas sueltas. Por eso esta guía usa la consulta de ventas: una consulta, no diez.
  • Filtra por fecha. Una base de Microsip puede pesar varios GB y la tabla de renglones de ventas puede tener millones de filas.
  • Actualiza fuera de horario, de madrugada.
  • Baja el paralelismo en Power BI Desktop: Archivo → Opciones y configuración → Opciones → Archivo actual → Carga de datos → Carga de tablas en paralelo → Una. Según Microsoft, este valor también se respeta en Power BI Service después de publicar.

En Excel

(Excel 2016; en Excel 365 la ruta es Datos → Obtener datos → De otras fuentes → Desde ODBC)

Datos → Nueva consulta → De otras fuentes → De ODBC. La ventana y las credenciales son iguales a las de Power BI. Cuidado: el botón De Microsoft Query también usa ODBC, pero no deja pegar el query. Para traer datos nuevos: Datos → Actualizar todo.

Por qué el query y no las tablas sueltas: una venta de Microsip vive en al menos cuatro tablas (documento, renglones, cliente, artículo), y además hay que quitar cancelados y restar devoluciones. Si cargas las tablas sueltas, ese trabajo lo haces en Power Query, y cada persona lo hace distinto.


5. Publicarlo para verlo en el navegador

Un dashboard sirve de verdad cuando tu equipo lo abre en el navegador o en el celular, sin Power BI Desktop. Para eso se publica en Power BI Service, y ahí aparecen dos cosas que conviene saber antes:

1. La puerta de enlace. Power BI en la nube no ve tu servidor de Firebird. Para que los datos se actualicen solos, instalas la puerta de enlace de datos local (on-premises data gateway) en una PC o servidor que esté siempre prendido y vea a Firebird. Esa máquina necesita el mismo driver ODBC y el mismo DSN de sistema, de 64 bits. Hay una versión "personal", pero depende de que esa PC esté prendida y no sirve para compartir; para una empresa, la estándar. Si nadie abre los reportes en dos meses, Power BI pausa la actualización, y después de cuatro fallas seguidas la desactiva.

Qué pide la máquina del gateway (checklist):

Requisito Detalle
Windows Mínimo Windows 10, 11, o Windows Server 2019, 2022 o 2025, con .NET Framework 4.8. Microsoft recomienda Windows Server de 64 bits. Ojo: Windows Server 2016 y anteriores no están en la lista.
Hardware recomendado 8 núcleos, 8 GB de RAM, disco SSD. Al menos 10 GB libres para poder actualizarlo
Siempre prendida Nada de laptops ni PCs que se suspendan. Mejor por cable que por WiFi
Cuenta Se registra con una cuenta de trabajo de Microsoft 365, no con un Hotmail o Outlook personal. Quien instala tiene que ser administrador de esa PC
Dónde no No en un controlador de dominio. Otros programas en la misma PC le pueden quitar rendimiento
Driver El mismo driver ODBC de Firebird y el mismo DSN de sistema de 64 bits que usaste en Power BI Desktop
Mantenimiento Microsoft saca una versión del gateway cada mes y solo da soporte a las últimas seis. Un gateway que nadie actualiza en medio año queda fuera de soporte, y un cambio de seguridad de Microsoft lo puede dejar sin funcionar (Microsoft avisó que su cambio de inicio de sesión, aplicado a más tardar el 31 Ago 2026, puede romper versiones viejas). Alguien tiene que tenerlo en su lista de pendientes

2. Las licencias. Con la licencia gratuita solo ves tus propios reportes: no puedes compartirlos. Para compartir, quien publica y quien consulta necesitan licencia Pro (o todos Premium Per User). La excepción es pagar una capacidad dedicada (Fabric F64 o mayor), donde los usuarios gratuitos ya pueden ver. Con Pro el reporte se actualiza hasta 8 veces al día; con Premium o Fabric, hasta 48. Revisa si tu Microsoft 365 ya incluye Pro.

3. Dashboard contra reporte. En Power BI Service, un "dashboard" se arma fijando (pin) visuales de un reporte. Si fijas un visual suelto, el mosaico puede no respetar los filtros del reporte y no refleja cambios de diseño (si cambias una línea por barras, el dashboard sigue mostrando la línea). Por eso un dashboard y su reporte pueden mostrar cifras distintas. Para evitarlo, fija la página completa del reporte (mosaico en vivo) o comparte directamente el reporte.

Fuentes: learn.microsoft.com, "Power BI service features by license type" (actualizada el 24 Ago 2026), "Configure scheduled refresh" (13 Feb 2026), "Create a Power BI dashboard from a report" (21 Abr 2026), "Install an on-premises data gateway" (15 Oct 2025) y "Update an on-premises data gateway" (28 Jul 2026). Sin precios: cambian seguido; consúltalos en microsoft.com.


Consulta SQL de ventas para Microsip

Este es el query que usamos como punto de partida para analizar ventas de Microsip. Es gratis, con licencia MIT: puedes copiarlo, cambiarlo y usarlo en Power BI, Excel, Data Manager o donde quieras, tú o tu distribuidor Microsip. Trae ventas sin costos; los costos y márgenes dependen de cómo tu empresa maneja el inventario y no caben en un query genérico.

Junta las dos fuentes de venta de Microsip, Ventas y Punto de Venta, en una sola lista, para que puedas compararlas o sumarlas.

Nota

Usa las mismas reglas que los reportes de ventas de Microsip 2026.

El query completo

-- Microsip: ventas sin costos, por renglón (Ventas + Punto de Venta)
-- Factor BI · https://factorbi.github.io/microsip/power-bi/#consulta-ventas
-- Licencia MIT · Copyright (c) 2026 Factor BI
-- Usa las mismas reglas que los reportes de ventas de Microsip:
--   sin cancelados, devoluciones restando, sin renglones componentes.
-- Cambia las dos fechas del final de cada bloque.

SELECT
  'VENTAS'                                AS ORIGEN,
  D.FECHA,
  D.FOLIO,
  D.TIPO_DOCTO,
  C.NOMBRE                                AS CLIENTE,
  A.NOMBRE                                AS ARTICULO,
  L.NOMBRE                                AS LINEA,
  G.NOMBRE                                AS GRUPO,
  IIF(D.TIPO_DOCTO = 'D', -1, 1) * R.UNIDADES                         AS UNIDADES,
  IIF(D.TIPO_DOCTO = 'D', -1, 1) * R.PRECIO_TOTAL_NETO * D.TIPO_CAMBIO AS VENTA_NETA_MN
FROM DOCTOS_VE D
JOIN DOCTOS_VE_DET R          ON R.DOCTO_VE_ID = D.DOCTO_VE_ID
                              AND R.ROL <> 'C'            -- sin componentes
LEFT JOIN CLIENTES C          ON C.CLIENTE_ID = D.CLIENTE_ID
LEFT JOIN ARTICULOS A         ON A.ARTICULO_ID = R.ARTICULO_ID
LEFT JOIN LINEAS_ARTICULOS L  ON L.LINEA_ARTICULO_ID = A.LINEA_ARTICULO_ID
LEFT JOIN GRUPOS_LINEAS G     ON G.GRUPO_LINEA_ID = L.GRUPO_LINEA_ID
WHERE D.ESTATUS <> 'C'                                    -- sin cancelados
  AND D.TIPO_DOCTO IN ('F', 'D')                          -- facturas y devoluciones
  AND D.FECHA BETWEEN '2026-01-01' AND '2026-12-31'

UNION ALL

SELECT
  'PUNTO DE VENTA',
  D.FECHA,
  D.FOLIO,
  D.TIPO_DOCTO,
  C.NOMBRE,
  A.NOMBRE,
  L.NOMBRE,
  G.NOMBRE,
  IIF(D.TIPO_DOCTO = 'D', -1, 1) * R.UNIDADES,
  IIF(D.TIPO_DOCTO = 'D', -1, 1) * R.PRECIO_TOTAL_NETO * D.TIPO_CAMBIO
FROM DOCTOS_PV D
JOIN DOCTOS_PV_DET R          ON R.DOCTO_PV_ID = D.DOCTO_PV_ID
                              AND R.ROL <> 'C'
LEFT JOIN CLIENTES C          ON C.CLIENTE_ID = D.CLIENTE_ID
LEFT JOIN ARTICULOS A         ON A.ARTICULO_ID = R.ARTICULO_ID
LEFT JOIN LINEAS_ARTICULOS L  ON L.LINEA_ARTICULO_ID = A.LINEA_ARTICULO_ID
LEFT JOIN GRUPOS_LINEAS G     ON G.GRUPO_LINEA_ID = L.GRUPO_LINEA_ID
WHERE D.ESTATUS <> 'C'
  AND D.TIPO_DOCTO IN ('V', 'D')                          -- ventas y devoluciones
  AND D.FECHA BETWEEN '2026-01-01' AND '2026-12-31'

Explicado por bloques

De dónde sale una venta

Documento (DOCTOS_VE, DOCTOS_PV) y sus renglones (_DET).

FROM DOCTOS_VE D JOIN DOCTOS_VE_DET R ON R.DOCTO_VE_ID = D.DOCTO_VE_ID AND R.ROL <> 'C'

(igual con DOCTOS_PV). ROL <> 'C' deja fuera los renglones componentes, como hacen los reportes de Microsip.

Cómo se excluyen los cancelados

Microsip no borra el documento cancelado: lo marca con ESTATUS = 'C' y conserva su fecha. Si solo filtras por fecha, lo sumas.

WHERE D.ESTATUS <> 'C'

Cómo se restan las devoluciones

El signo se invierte para que la venta neta cuadre con Microsip.

IIF(D.TIPO_DOCTO = 'D', -1, 1) * R.PRECIO_TOTAL_NETO

Con TIPO_DOCTO IN ('F', 'D') en Ventas y IN ('V', 'D') en Punto de Venta.

Cómo se convierte a moneda nacional

Tipo de cambio del documento, no el del día.

R.PRECIO_TOTAL_NETO * D.TIPO_CAMBIO

Clientes y artículos

Los catálogos que dan nombre a cada renglón: LEFT JOIN a CLIENTES, ARTICULOS, LINEAS_ARTICULOS y GRUPOS_LINEAS.

Cómo validar que cuadra

Corre el query para un mes cerrado y compara el total contra el reporte de ventas de Microsip del mismo mes.

Qué no incluye

Costos, márgenes, cuentas por cobrar. Tampoco junta varias bases: si tienes varias empresas, sucursales con Punto de Venta local o el histórico partido en dos bases, el query se corre en cada una por separado.


Errores comunes

Síntoma Causa probable Qué hacer
Tu DSN no aparece en la lista de Power BI, o sale ERROR [IM014] ... La arquitectura del DSN especificado no coincide entre el controlador y la aplicación. El DSN se creó solo en 32 bits Créalo en "Orígenes de datos ODBC (64 bits)"
File Database is not found Ruta del .FDB mal escrita Copia la ruta exacta del archivo
Unable to complete network request to host "localhost". -Failed to establish a connection. Puerto equivocado, o el servicio de Firebird apagado Revisa el puerto (3050 por defecto) y que el servicio esté corriendo
Your user name and password are not defined. Ask your database administrator to set up a Firebird login. Usuario o contraseña equivocados Usa la contraseña que pusiste en Microsip
Unable to connect to data source: library '...fbclient.dll' failed to load El campo Client apunta a un fbclient.dll que no existe Deja Client vacío
Error de cliente o de versión fbclient.dll de 2.5 con driver v3.0 (fuente: firebirdsql.org) Usa el cliente de tu versión de Firebird
no permission for SELECT access to TABLE ... La tabla no está en el script de permisos Agrega la tabla al script y vuelve a correrlo
Los totales no cuadran con Microsip Estás sumando cancelados o sin restar devoluciones Prueba con el query de ventas, consulta a tu distribuidor o contáctanos para ayudarte con el query
La base se pone lenta en horas pico Consultas pesadas sobre producción Modo Importar y actualización de madrugada

Cuando ya no alcanza

Esta receta sirve bien para una base de datos, un analista y reportes que se actualizan una vez al día. Power BI conectado por ODBC ve una base a la vez, y en Microsip es muy común tener varias:

  • Varias empresas o razones sociales, cada una con su base.
  • Punto de Venta local en cada sucursal. Un supermercado con 10 tiendas puede tener 20 bases de Firebird. El valor está en ver todas juntas.
  • Históricos partidos. Cuando una base crece mucho y Microsip se pone lento, a veces se le borra el histórico para recuperar velocidad. La operación mejora, pero tu historia queda repartida en dos o más bases, y un reporte conectado a la base nueva ya no ve los años anteriores.

También se complica cuando la PC de la puerta de enlace se apaga, o cuando la persona que armó el reporte se va. Eso es lo que resolvemos en Factor BI: sincronizamos todas tus bases de Microsip a la nube de AWS con Vansync, las unimos en un solo lugar y entregamos los dashboards ya hechos, siempre de la mano de tu distribuidor Microsip.

¿Y las metas de venta o el presupuesto que viven en Excel? Meterlos a un dashboard es trabajo de mantenimiento eterno. Con nuestro BI Agent le pides a Claude que cruce tus dashboards de QuickSight con ese Excel, un PDF o lo que tengas, y te contesta en minutos.

Mira los reportes para Microsip en www.factorbi.com/es/reportes-microsip.

Contáctanos

¿Y con Claude o ChatGPT? Sí se puede analizar Microsip con IA, pero no subiendo tu base a un chat. Te explicamos cómo hacerlo con tus datos seguros en factorbi.com.


Fuentes: firebirdsql.org (driver ODBC), learn.microsoft.com (conector ODBC de Power Query), microsip.com (Microsip 2026 y Firebird 5.0).