Skip to main content

Bases de datos compatibles con ODBC

FlexiCapture for Invoices permite conectar un conjunto de datos a una base de datos compatible con ODBC y, a continuación, cargar sus datos una sola vez o actualizarlos desde la base de datos externa a intervalos regulares. Para obtener más información, consulte Uso de bases de datos de proveedores y unidades de negocio y Actualización de conjuntos de datos. Por lo tanto, el primer paso es almacenar los datos externos en una base de datos compatible con ODBC, como Microsoft Access, Microsoft SQL Server u Oracle.

Eliminar registros duplicados en la base de datos externa

En primer lugar, determine qué campo de la base de datos externa de proveedores (o de unidades de negocio) contiene el valor que necesita cuando se detecta el proveedor (o la unidad de negocio) en una factura. Ese campo (o conjunto de campos) debe convertirse en la clave única del conjunto de datos. La clave única de un conjunto de datos de unidades de negocio es el campo Id (consulte conjunto de datos BusinessUnits). Desde el punto de vista del usuario, este campo es el resultado de detectar la unidad de negocio a la que se emitió la factura. La clave única de un conjunto de datos de proveedores debe ser el valor que se pasa al sistema de información externo cuando FlexiCapture for Invoices detecta al proveedor que emitió la factura. Si se usa una sola tabla de proveedores, la clave única debe asociarse al campo Id del conjunto de datos. Si planeva procesar en un mismo proyecto facturas emitidas a distintas unidades de negocio de su empresa, cada una con su propia base de datos de proveedores, asocie la clave única de cada unidad de negocio con la columna BusinessUnitId del conjunto de datos Vendors, y la clave de cada proveedor con su columna Id. La clave única del registro del proveedor que se pasa al sistema de información externo cuando se detecta el proveedor es entonces el par de valores Id y BusinessUnitId (consulte conjunto de datos Vendors). Las explicaciones que siguen se refieren solo a la detección de proveedores, ya que la situación es idéntica para las unidades de negocio. La clave única de un registro debe determinar la combinación única de parámetros usados para la detección de proveedores. Muy a menudo, un sistema de información externo considera que un registro de proveedor es único en función de más parámetros de los que se especifican en la factura o se usan para la detección de proveedores. Por ejemplo, un sistema de información externo puede esperar recibir un identificador MCN_USD si el proveedor My Company Name Ltd. emite una factura en dólares estadounidenses, o un identificador MCN_EUR si la misma empresa emite una factura en euros. Aunque la divisa se indica en la factura (por lo que podría saberse cuándo debe devolverse MCN_USD en lugar de MCN_EUR), la divisa no se usa para la detección de proveedores. Por lo tanto, el mecanismo de detección de proveedores no puede decidir entre MCN_USD y MCN_EUR. En casos como este, cree un identificador MCN que corresponda tanto a MCN_USD como a MCN_EUR y que se devuelva cuando se detecte el proveedor. Luego puede crear una regla en la Definición de Document que elija entre MCN_USD y MCN_EUR según la divisa de la factura en cuestión. En términos generales, el identificador único de un registro de proveedor debe tener un conjunto único de parámetros que se usen para la detección de proveedores, como el nombre de la empresa, la dirección de la empresa, los ID tributarios (VATID, NationalVATID) e IBAN (consulte conjunto de datos Vendors). Solo entonces el mecanismo de detección de proveedores podrá seleccionar el registro de proveedor correcto para una factura.
A continuación, el programa puede capturar campos adicionales y usar reglas en la Definición de Document para afinar el resultado y obtener el valor requerido.
Si el mismo conjunto de parámetros usados para la detección de proveedores (o uno con el que pueda confundirse fácilmente) corresponde a varias claves únicas, el programa no puede elegir una sola clave, la detección de proveedores se vuelve imprecisa y la calidad se degrada. La razón es la siguiente. Si el programa puede usar los datos impresos en la factura para detectar de forma fiable al proveedor My Company Name, pero varios registros (MCN1, MCN2, …, MCNN) del conjunto de datos coinciden con esos datos, el programa puede elegir otro registro que coincida peor pero que no tenga tantos registros coincidentes. En última instancia, esto hace que el proveedor se detecte incorrectamente. En consecuencia, es muy importante eliminar los registros duplicados y crear una columna en la base de datos externa que tenga un valor único para cada combinación única de los campos del registro usados para la detección de proveedores. Cuando está conectado a un conjunto de datos, las filas con valores idénticos en la columna asociada a la clave única se agrupan automáticamente en un solo registro.

Columnas con varios valores en un conjunto de datos

Un conjunto de datos puede almacenar varios valores para una misma columna lógica de un registro de empresa. Es necesario almacenar varios valores porque los parámetros de la empresa, como el nombre de la empresa y la calle, pueden variar de una factura a otra (por ejemplo, “My Company Name” y “MCN Ltd.”). Para identificar la empresa de forma fiable, el texto del conjunto de datos debe coincidir lo más posible con el texto capturado de una imagen de factura. Además, una empresa puede tener varias cuentas bancarias u otros atributos.
Las columnas con varios valores en los conjuntos de datos deben usarse para almacenar la misma información escrita de distintas maneras. Por ejemplo, “Karl Marx Street” y “K. Marx str.” son dos formas diferentes de escribir la misma dirección. Sin embargo, las sucursales de una empresa en Londres y Berlín deben tener dos registros independientes.
Los valores de las columnas con varios valores pueden tomarse de una base de datos externa (por ejemplo, una tabla de proveedores puede contener entre uno y cinco datos bancarios para cada empresa), o pueden ser agregados por el usuario durante la captura de datos (por ejemplo, un operador puede agregar al conjunto de datos una variante de uso frecuente del nombre de una empresa que la base de datos externa no conoce). Los conjuntos de datos usan la desnormalización de columnas, es decir, almacenan los datos de la siguiente forma: Para un campo lógico de un registro, como Name, se crean varias columnas en el conjunto de datos para almacenar todos los valores posibles del campo lógico. Por lo tanto, Name puede denominarse una “columna compleja”. Al conectar una tabla (o una vista) desde una base de datos externa, puede usar la desnormalización de columnas como se describió anteriormente, o la desnormalización de filas, que es más común. En este último caso, las filas que deben combinarse en un solo registro deben tener el mismo valor en la columna que corresponde a la clave única. Por ejemplo:
  • La clave única de un conjunto de datos BusinessUnits es el campo Id. La clave única de un conjunto de datos Vendors es el campo Id o el par de campos Id y BusinessUnitId, según la configuración. Para obtener más información, consulte conjunto de datos Vendors.