Saltar al contenido principal
Las fuentes externas proporcionan datos de transacciones desde sistemas fuera de su organización. Esta guía cubre cómo conectar bancos, ERPs, procesadores de pagos y otros sistemas externos a Matcher.

Tipos de fuentes soportadas


  • Bancos: Extractos diarios, feeds en tiempo real y exportaciones históricas de instituciones financieras.
  • ERPs: SAP, Oracle, NetSuite, Microsoft Dynamics y otros sistemas empresariales.
  • Procesadores de pagos: Stripe, Adyen, PayPal, Square y transacciones de pasarelas de pago.
  • Redes de tarjetas: Archivos de liquidación de Visa, Mastercard, Elo y Amex.

Métodos de ingesta


Los datos externos pueden ingestarse a través de múltiples canales:
MétodoCaso de usoTiempo real
Carga de archivoCargas manuales CSV/JSON/XMLNo
SFTP PullRecuperación programada de archivosNo
Integración APIConexión directa por API
Servicio FetcherRecolección automatizada de datosConfigurable
Webhook PushSistema externo envía datos

Ingesta basada en archivos


El método más común para extractos bancarios y exportaciones de ERP.

Carga manual

Use el endpoint de carga de archivos para importar archivos de transacciones manualmente.

Opciones de autenticación SFTP

Tipo de authConfiguración
password"password": "encrypted_password"
ssh_key"ssh_key_id": "key_001" (almacenado en vault)
certificate"certificate_id": "cert_001"

Conexiones bancarias


Formato bancario estándar

La mayoría de los bancos proporcionan extractos en formato CSV o MT940:
{
  "name": "Chase Business Account",
  "type": "BANK",
  "direction": "EXTERNAL",
  "settings": {
    "bank_name": "Chase",
    "account_number": "****1234",
    "currency": "USD",
    "statement_format": "CSV",
    "timezone": "America/New_York"
  }
}

Formato MT940/MT942

Para extractos bancarios con formato SWIFT:
{
  "name": "International Bank SWIFT",
  "type": "BANK",
  "direction": "EXTERNAL",
  "settings": {
    "statement_format": "MT940",
    "swift_bic": "CHASUS33",
    "parse_options": {
      "date_format": "YYMMDD",
      "amount_decimal_indicator": ","
    }
  }
}

Open Banking / PSD2

Para conexiones bancarias en tiempo real mediante APIs de Open Banking, cree una fuente con connection_type: OPEN_BANKING:
{
  "name": "Bank via Open Banking",
  "type": "BANK",
  "direction": "EXTERNAL",
  "connection_type": "OPEN_BANKING",
  "settings": {
    "provider": "plaid",
    "institution_id": "ins_001",
    "account_ids": [
      "acc_001",
      "acc_002"
    ],
    "sync_frequency": "hourly"
  }
}
Referencia de API: Crear fuente

Conexiones ERP


Integración SAP

{
  "name": "SAP S/4HANA",
  "type": "ERP",
  "direction": "INTERNAL",
  "connection_type": "API",
  "settings": {
    "erp_type": "SAP",
    "base_url": "https://sap.company.com/sap/opu/odata/sap/",
    "auth": {
      "type": "oauth2",
      "client_id": "matcher-integration",
      "token_url": "https://sap.company.com/oauth/token"
    },
    "entities": [
      "JournalEntry",
      "AccountingDocument"
    ],
    "company_codes": [
      "1000",
      "2000"
    ],
    "sync_frequency": "daily"
  }
}

Integración Oracle

{
  "name": "Oracle Financials",
  "type": "ERP",
  "direction": "INTERNAL",
  "connection_type": "API",
  "settings": {
    "erp_type": "ORACLE",
    "base_url": "https://oracle.company.com/fscmRestApi/resources/",
    "auth": {
      "type": "basic",
      "username": "integration_user"
    },
    "ledger_id": "300000001",
    "legal_entity": "Company Inc"
  }
}

Exportación genérica de archivo ERP

Para ERPs sin integración API directa:
{
  "name": "Legacy ERP Export",
  "type": "ERP",
  "direction": "INTERNAL",
  "connection_type": "FILE",
  "settings": {
    "file_format": "CSV",
    "delimiter": "|",
    "encoding": "UTF-8",
    "date_format": "YYYYMMDD",
    "amount_format": {
      "decimal_separator": ".",
      "thousands_separator": ",",
      "scale": 2
    }
  }
}

Conexiones de procesadores de pagos


Integración Stripe

{
  "name": "Stripe Payments",
  "type": "PAYMENT_GATEWAY",
  "direction": "EXTERNAL",
  "connection_type": "API",
  "settings": {
    "provider": "stripe",
    "api_key_id": "secret_stripe_001",
    "sync_objects": [
      "charges",
      "payouts",
      "refunds"
    ],
    "sync_frequency": "hourly",
    "lookback_days": 7
  }
}

Integración Adyen

{
  "name": "Adyen Settlements",
  "type": "PAYMENT_GATEWAY",
  "direction": "EXTERNAL",
  "connection_type": "API",
  "settings": {
    "provider": "adyen",
    "merchant_account": "CompanyECOM",
    "api_key_id": "secret_adyen_001",
    "report_types": [
      "settlement_detail",
      "payment_accounting"
    ],
    "sync_frequency": "daily"
  }
}

Integración PayPal

{
  "name": "PayPal Business",
  "type": "PAYMENT_GATEWAY",
  "direction": "EXTERNAL",
  "connection_type": "API",
  "settings": {
    "provider": "paypal",
    "client_id": "paypal_client_id",
    "client_secret_id": "secret_paypal_001",
    "environment": "live",
    "sync_objects": [
      "transactions",
      "payouts"
    ],
    "sync_frequency": "hourly"
  }
}

Archivos de liquidación de redes de tarjetas


Liquidación Visa

{
  "name": "Visa Settlement",
  "type": "CARD_NETWORK",
  "direction": "EXTERNAL",
  "settings": {
    "network": "VISA",
    "file_format": "TC33",
    "member_id": "12345678",
    "settlement_currency": "USD"
  }
}

Liquidación Mastercard

{
  "name": "Mastercard IPM",
  "type": "CARD_NETWORK",
  "direction": "EXTERNAL",
  "settings": {
    "network": "MASTERCARD",
    "file_format": "IPM",
    "ica": "12345",
    "settlement_currency": "USD"
  }
}

Seguridad de conexión


Almacenamiento de credenciales

Todas las credenciales deben almacenarse de forma segura en un vault encriptado y referenciarse por ID en las configuraciones de fuente.

Lista blanca de IPs

Configure las IPs de origen que pueden enviar datos:
{
  "settings": {
    "security": {
      "allowed_ips": [
        "192.168.1.0/24",
        "10.0.0.5"
      ],
      "require_tls": true,
      "min_tls_version": "1.2"
    }
  }
}

Firmas de webhook

Para fuentes que envían datos vía webhook, verifique las firmas:
{
  "settings": {
    "webhook": {
      "signature_header": "X-Signature",
      "signature_algorithm": "HMAC-SHA256",
      "secret_id": "secret_webhook_001"
    }
  }
}

Requisitos de formato de datos


Campos requeridos

Cada transacción debe incluir:
CampoTipoDescripción
transaction_idStringID único de la fuente
amountDecimalMonto de la transacción
currencyStringCódigo ISO 4217
dateDateFecha de la transacción

Campos recomendados

CampoTipoDescripción
referenceStringReferencia de pago
counterpartyStringNombre de la contraparte
typeStringcrédito/débito
posting_dateDateFecha de liquidación

Mapeo de campos

Configure cómo los campos de origen se mapean a Matcher:
{
  "settings": {
    "field_map_id": "fmap_bank_001"
  }
}
Consulte Mapeo de campos para más detalles.

Mejores prácticas


Configure SFTP o polling de API para extractos bancarios en lugar de cargas manuales. Esto asegura disponibilidad de datos consistente y oportuna.
Configure reintentos automáticos para fuentes basadas en API. Las fallas transitorias son comunes; los reintentos previenen intervención manual.
Configure alertas para fallas de conexión y escenarios sin datos. El monitoreo proactivo previene retrasos en la conciliación.
Ajuste la frecuencia de sincronización a sus necesidades de conciliación. Diaria para extractos bancarios; por hora para procesadores de pagos.
Almacene todas las API keys y contraseñas en el vault. Nunca incluya credenciales en los payloads de configuración.
Valide el mapeo de campos y la calidad de datos con archivos de muestra antes de habilitar la ingesta automatizada.

Próximos pasos