Compartir a través de


Copia de datos de QuickBooks Online mediante Azure Data Factory o Azure Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis integral para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y la creación de informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se describe cómo usar la actividad de copia en una canalización de Azure Data Factory o Azure Synapse Analytics para copiar datos de QuickBooks Online. Se basa en el artículo de información general sobre la actividad de copia.

Importante

La versión 1.0 del conector de QuickBooks está en la fase de retiro. Se recomienda actualizar el conector quickBooks de la versión 1.0 a la 2.0.

Funcionalidades admitidas

El conector QuickBooks es compatible con las siguientes funcionalidades:

Funcionalidades admitidas IR
Actividad de copia (origen/-) 1 2
Actividad de búsqueda 1 2

① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado

Para obtener una lista de almacenes de datos que se admiten como orígenes o receptores, consulte Almacenes de datos admitidos.

El conector admite la autenticación OAuth 2.0 de QuickBooks.

Introducción

Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:

Creación de un servicio vinculado a QuickBooks mediante la interfaz de usuario

  1. En Azure Portal, vaya al área de trabajo de Azure Data Factory o Azure Synapse.

  2. Vaya a la pestaña Administrar , seleccione Servicios vinculados y, a continuación, seleccione Nuevo.

  3. Busque QuickBooks y, a continuación, seleccione el conector QuickBooks.

    Captura de pantalla de los resultados de búsqueda del conector QuickBooks.

  4. Configure los detalles del servicio, pruebe la conexión y cree el servicio vinculado.

    Captura de pantalla del panel para la configuración del servicio vinculado para QuickBooks.

Detalles de configuración del conector

Las propiedades se usan para definir entidades de Data Factory específicas del conector de QuickBooks.

Propiedades del servicio vinculado

El conector QuickBooks ahora admite la versión 2.0. Para actualizar el conector de QuickBooks de la versión 1.0 a la versión 2.0, consulte el procedimiento que aparece más adelante en este artículo. En las secciones siguientes se describen los detalles de las propiedades de las dos versiones.

Versión 2.0

El servicio vinculado QuickBooks admite las siguientes propiedades para la versión 2.0 del conector:

Propiedad Descripción Obligatorio
type Tipo del servicio vinculado. Debe establecerse en QuickBooks.
version Versión que especifique. El valor es 2.0.
endpoint Punto de conexión del servidor de QuickBooks Online. El valor es quickbooks.api.intuit.com.
companyId Id. de empresa de la compañía de QuickBooks que se debe autorizar. Para obtener información sobre cómo encontrar el identificador de empresa, consulte el tema de ayuda quickBooks Online.
consumerKey El identificador de cliente de la aplicación en línea QuickBooks para la autenticación OAuth 2.0. Más información.
consumerSecret El secreto de cliente de la aplicación en línea QuickBooks para la autenticación OAuth 2.0. Marque este campo como SecureString para almacenarlo de forma segura o hacer referencia a un secreto almacenado en Azure Key Vault.
refreshToken El token de actualización de OAuth 2,0 asociado a la aplicación de QuickBooks. Más información. Marque este campo como SecureString para almacenarlo de forma segura o hacer referencia a un secreto almacenado en Azure Key Vault.

El token de actualización expira después de 180 días, por lo que los clientes deben actualizarlo periódicamente.

Este es un ejemplo:

{
    "name": "QuickBooksLinkedService",
    "properties": {
        "type": "QuickBooks",
        "version": "2.0",
        "typeProperties": {
            "endpoint": "quickbooks.api.intuit.com",
            "companyId": "<company id>",
            "consumerKey": "<consumer key>", 
            "consumerSecret": {
                 "type": "SecureString",
                 "value": "<clientSecret>"
            },
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        }
    }
}

Versión 1.0

El servicio vinculado QuickBooks admite las siguientes propiedades para la versión 1.0 del conector:

Propiedad Descripción Obligatorio
type Tipo del servicio vinculado. Debe establecerse en QuickBooks.
connectionProperties Un grupo de propiedades que definen cómo conectarse a QuickBooks.
Bajo connectionProperties:
endpoint Punto de conexión del servidor de QuickBooks Online. El valor es quickbooks.api.intuit.com.
companyId Id. de empresa de la compañía de QuickBooks que se debe autorizar. Para obtener información sobre cómo encontrar el identificador de empresa, consulte el tema de ayuda quickBooks Online.
consumerKey El identificador de cliente de la aplicación en línea QuickBooks para la autenticación OAuth 2.0. Más información.
consumerSecret El secreto de cliente de la aplicación en línea QuickBooks para la autenticación OAuth 2.0. Marque este campo como SecureString para almacenarlo de forma segura o hacer referencia a un secreto almacenado en Azure Key Vault.
refreshToken El token de actualización de OAuth 2,0 asociado a la aplicación de QuickBooks. Más información. Marque este campo como SecureString para almacenarlo de forma segura o hacer referencia a un secreto almacenado en Azure Key Vault.

El token de actualización expira después de 180 días, por lo que los clientes deben actualizarlo periódicamente.
useEncryptedEndpoints Especifica si los puntos de conexión del origen de datos se cifran a través de HTTPS. El valor predeterminado es true. No

Este es un ejemplo:

{
    "name": "QuickBooksLinkedService",
    "properties": {
        "type": "QuickBooks",
        "typeProperties": {
            "connectionProperties": {
                "endpoint": "quickbooks.api.intuit.com",
                "companyId": "<company id>",
                "consumerKey": "<consumer key>", 
                "consumerSecret": {
                     "type": "SecureString",
                     "value": "<clientSecret>"
              },
                "refreshToken": {
                     "type": "SecureString",
                     "value": "<refresh token>"
              },
                "useEncryptedEndpoints": true
            }
        }
    }
}

Control de tokens de actualización para el servicio vinculado

Al usar el conector QuickBooks Online en un servicio vinculado, es importante administrar correctamente los tokens de actualización de OAuth 2.0 desde QuickBooks.

El servicio vinculado usa un token de actualización para obtener nuevos tokens de acceso. Sin embargo, QuickBooks Online actualiza periódicamente el token de actualización. Esta acción invalida el token anterior.

El servicio vinculado no actualiza automáticamente el token de actualización en Azure Key Vault, por lo que debe administrar la actualización del token de actualización para garantizar la conectividad ininterrumpida. De lo contrario, es posible que encuentre errores de autenticación después de que expire el token de actualización.

Puede actualizar manualmente el token de actualización en Azure Key Vault según la política de QuickBooks Online sobre la caducidad de los tokens de actualización. Otro enfoque consiste en automatizar las actualizaciones mediante una tarea programada o una función de Azure que comprueba si hay un nuevo token de actualización y lo actualiza en Azure Key Vault.

Propiedades del conjunto de datos

Para obtener una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte Conjuntos de datos en Azure Data Factory y Azure Synapse Analytics.

Para copiar datos de QuickBooks Online, establezca la propiedad type del conjunto de datos a QuickBooksObject. El conjunto de datos QuickBooks admite las siguientes propiedades:

Propiedad Descripción Obligatorio
type Tipo del conjunto de datos. Debe establecerse en QuickBooksObject.
tableName Nombre de la tabla. No (si query se especifica en el origen de la actividad)

Este es un ejemplo:

{
    "name": "QuickBooksDataset",
    "properties": {
        "type": "QuickBooksObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<QuickBooks linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

La versión 2.0 del conector admite las siguientes tablas de QuickBooks:

  • Cuenta
  • Acoplable
  • Attachable_AttachableRef
  • Attachable_AttachableRef_CustomField
  • Factura
  • BillPayment_Line
  • BillPayment_Line_LinkedTxn
  • Línea_De_Gasto_Basada_En_Cuenta_De_Factura
  • Línea_de_Gastos_Basada_en_Elementos_de_Factura
  • Bill_LinkedTxn
  • Pago_de_Facturas
  • Bill_TxnTaxDetail_TaxLine
  • Presupuesto
  • Presupuesto_Detalle
  • Class
  • MonedaDeLaEmpresa_CustomField
  • CompanyInfo_NameValue
  • Empresa_Moneda
  • Company_Info
  • PagoConTarjetaDeCrédito
  • CreditMemo_CustomField
  • CreditMemo_Description_Line
  • NotaDeCrédito_LíneaDeDescuento
  • CreditMemo_Group_Individual_Item_Line
  • CreditMemo_Group_Item_Line
  • CreditMemo_Sales_Item_Line
  • CreditMemo_Subtotal_Line
  • CreditMemo_TxnTaxDetail_TaxLine
  • Credit_Memo
  • Cliente
  • TipoDeCliente
  • department
  • Depósito
  • Deposit_CustomField
  • Línea de Depósito
  • Deposit_Line_CustomField
  • Detalle_de_Transacción_Vinculada_al_Depósito
  • Línea_de_Transacción_Vinculada_al_Depósito
  • Deposit_TxnTaxDetail_TaxLine
  • Empleado
  • Estimación
  • Estimate_CustomField
  • Estimate_Description_Line
  • Línea_de_Descuento_de_Estimación
  • Estimate_Group_Individual_Item_Line
  • Estimate_Group_Item_Line
  • Estimate_LinkedTxn
  • Estimate_Sales_Item_Line
  • Estimate_Subtotal_Line
  • Estimate_TxnTaxDetail_TaxLine
  • Factura
  • Invoice_CustomField
  • Línea_De_Descripción_De_Factura
  • Línea_de_Descuento_de_Factura
  • Invoice_Group_Individual_Item_Line
  • Línea_de_Elemento_de_Grupo_de_Factura
  • Invoice_LinkedTxn
  • Factura_Ventas_Artículo_Línea
  • Invoice_Subtotal_Line
  • Invoice_TxnTaxDetail_TaxLine
  • Elemento
  • JournalCode_CustomField
  • JournalEntry_Description_Line
  • JournalEntry_Line
  • JournalEntry_TxnTaxDetail_TaxLine
  • Código_de_Revista
  • Journal_Entry
  • Pago
  • Línea_de_Pago
  • Payment_Line_LinkedTxn
  • Método de Pago
  • Preferences
  • Preferences_SalesFormsPrefs_CustomField
  • Preferences_OtherPrefs_NameValue
  • Preferences_VendorAndPurchasesPrefs_POCustomField
  • Compra
  • Línea_de_Gastos_Basados_en_Cuenta_de_Compra
  • Línea_de_Gasto_Basado_en_Artículo_de_Compra
  • Purchase_TxnTaxDetail_TaxLine
  • Orden_de_Compra
  • PurchaseOrder_CustomField
  • PurchaseOrder_Account_Based_Expense_Line
  • Línea_de_Gasto_Basada_en_Ítem_de_Orden_de_Compra
  • PurchaseOrder_LinkedTxn
  • PurchaseOrder_TxnTaxDetail_TaxLine
  • TransacciónRecurrente
  • LíneasDeTransacciónRecurrente
  • ReciboDeReembolso_CampoPersonalizado
  • RefundReceipt_Description_Line
  • RefundReceipt_Discount_Line
  • RefundReceipt_Group_Individual_Item_Line
  • RefundReceipt_Group_Item_Line
  • RefundReceipt_Sales_Item_Line
  • RefundReceipt_Subtotal_Line
  • RefundReceipt_TxnTaxDetail_TaxLine
  • Recibo_de_Reembolso
  • ReimburseCharge
  • ReimburseCharge_Line
  • SalesReceipt_CustomField
  • SalesReceipt_Description_Line
  • SalesReceipt_Discount_Line
  • SalesReceipt_Group_Individual_Item_Line
  • SalesReceipt_Group_Item_Line
  • SalesReceipt_Sales_Item_Line
  • SalesReceipt_Subtotal_Line
  • SalesReceipt_TxnTaxDetail_TaxLine
  • Recibo_de_Ventas
  • Clasificación Fiscal
  • TaxCode_PurchaseTaxRateList_TaxRateDetail
  • CódigoDeImpuesto_ListaDeTasaDeImpuesto_DetalleDeTasa
  • Agencia Tributaria
  • Código_Fiscal
  • Tasa_de_Impuesto
  • Término
  • Actividades de Tiempo
  • Transferencia
  • Proveedor
  • VendorCredit_Account_Based_Expense_Line
  • VendorCredit_Item_Based_Expense_Line
  • Crédito_del_Proveedor

Propiedades de la actividad de copia

Para ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte Canalizaciones y actividades en Azure Data Factory y Azure Synapse Analytics. En esta sección se proporciona una lista de las propiedades que admite el origen de QuickBooks.

QuickBooks como origen

Para copiar datos de QuickBooks Online, establezca el tipo de origen en la actividad de copia a QuickBooksSource. El conjunto de datos de QuickBooks admite las siguientes propiedades en la sección de source de la actividad de copia:

Propiedad Descripción Obligatorio
type Tipo del origen de la actividad de copia. Debe establecerse en QuickBooksSource.
query Use la consulta SQL personalizada para leer los datos.

Para la versión 2.0 del conector QuickBooks, solo puede usar la consulta nativa QuickBooks, con limitaciones. Para obtener más información, vea Operaciones de consulta y sintaxis en el sitio para desarrolladores de Intuit.

Para la versión 1.0 del conector de QuickBooks, puede usar la consulta SQL-92. Por ejemplo: "SELECT * FROM "Bill" WHERE Id = '123'".
No (si tableName se especifica en el conjunto de datos)

Este es un ejemplo:

"activities":[
    {
        "name": "CopyFromQuickBooks",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<QuickBooks input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "QuickBooksSource",
                "query": "SELECT * FROM \"Bill\" WHERE Id = '123' "
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Para obtener una lista completa de las secciones y propiedades disponibles para definir actividades, consulte Canalizaciones y actividades en Azure Data Factory y Azure Synapse Analytics.

Copia de datos de QuickBooks Desktop

La actividad de copia del servicio no puede copiar datos directamente desde QuickBooks Desktop. Para copiar datos de QuickBooks Desktop, exporte los datos de QuickBooks a un archivo de valores separados por comas (CSV) y, a continuación, cargue el archivo en Azure Blob Storage. Desde ahí puede usar el servicio para copiar los datos al receptor que prefiera.

Asignación de tipos de datos para Quickbooks

Al copiar datos desde QuickBooks, los siguientes mapeos se aplican desde los tipos de datos de QuickBooks hacia los tipos de datos internos que utiliza el servicio. Para aprender cómo la actividad de copia asigna el esquema de origen y el tipo de datos al destino, consulte Asignación de esquemas y tipos de datos en la actividad de copia.

Tipo de datos QuickBooks Tipo de datos de servicio provisional (para la versión 2.0) Tipo de datos de servicio provisional (para la versión 1.0)
String string string
Boolean bool bool
DateTime datetime datetime
Decimal decimal (15,2) decimal (15, 2)
Enum string string 
Date datetime datetime
BigDecimal  decimal (15,2) decimal (15, 2)
Integer int int

Propiedades de la actividad de búsqueda

Para más información sobre las propiedades de la actividad de búsqueda, consulte Actividad de búsqueda en Azure Data Factory y Azure Synapse Analytics.

Ciclo de vida y actualización del conector de Quickbooks

En la tabla siguiente se resume la información sobre las versiones del conector QuickBooks:

Versión Fase de lanzamiento Registro de cambios
1,0 Quitado No aplicable.
2.0 Disponibilidad general Se admite la consulta nativa de QuickBooks, con limitaciones. Cláusulas GROUP BY, cláusulas JOIN, y funciones de agregado (Avg, Max, Sum) no están admitidas. Para obtener más información, vea Operaciones de consulta y sintaxis en el sitio para desarrolladores de Intuit.

No se admite la consulta SQL-92.

La propiedad useEncryptedEndpoints no es compatible.

Admite tablas de Quickbooks específicas. En la lista de tablas admitidas, vaya a Propiedades del conjunto de datos.

Actualización del conector quickbooks de la versión 1.0 a la versión 2.0

  1. En Azure Portal, vaya al área de trabajo de Azure Data Factory o Azure Synapse.

  2. Vaya a la pestaña Administrar , seleccione Servicios vinculados y, a continuación, seleccione Editar para el servicio vinculado.

  3. En el panel Editar servicio vinculado , seleccione 2.0 para la versión. Para obtener más información, consulte las propiedades del servicio vinculado para la versión 2.0 anteriormente en este artículo.

  4. Si usa una consulta SQL en el origen de la actividad de copia o la actividad de búsqueda que hace referencia al servicio vinculado de la versión 1.0, debe convertirlo a la consulta nativa de QuickBooks. Obtenga más información sobre la consulta nativa de las propiedades de la actividad de copia en este artículo y de las operaciones de consulta y la sintaxis en el sitio para desarrolladores de Intuit.

  5. Tenga en cuenta que la versión 2.0 admite tablas de Quickbooks específicas. En la lista de tablas admitidas, vaya a Propiedades del conjunto de datos.