Descripción general
Matcher permite cuatro patrones de coincidencia:
| Patrón | Descripción | Ejemplo |
|---|---|---|
| 1:1 | Uno a uno | Pago de factura única |
| 1:N | Uno a muchos | Pago masivo cubriendo facturas |
| N:1 | Muchos a uno | Depósitos consolidados en banco |
| N:M | Muchos a muchos | Compensación compleja |
Habilitando coincidencia compleja
Configuración de contexto
Habilite la coincidencia dividida y agregada a nivel de contexto:cURL
Respuesta
Configuración de coincidencia
| Configuración | Tipo | Por defecto | Descripción |
|---|---|---|---|
allow_split | Boolean | false | Habilitar coincidencia 1:N |
allow_aggregate | Boolean | false | Habilitar coincidencia N:1 |
allow_many_to_many | Boolean | false | Habilitar coincidencia N:M |
max_transactions_per_group | Integer | 10 | Máximo de transacciones en un grupo |
require_full_allocation | Boolean | true | Requerir asignación del 100% |
partial_match_threshold | Decimal | 0.95 | Asignación mínima para parcial (95%) |
Coincidencia dividida 1:N
Una transacción de origen coincide con múltiples transacciones de destino.
Casos de uso comunes
- Pago masivo: Una transferencia cubriendo múltiples facturas
- Nómina: Un débito bancario para múltiples pagos de salario
- Liquidación: Un pago de pasarela para múltiples órdenes
Ejemplo: pago masivo de facturas
Origen (Extracto bancario):| ID | Monto | Referencia |
|---|---|---|
| bank_001 | $15,000.00 | BULK-PAY-2024-001 |
| ID | Monto | Factura |
|---|---|---|
| inv_001 | $5,000.00 | INV-2024-001 |
| inv_002 | $7,500.00 | INV-2024-002 |
| inv_003 | $2,500.00 | INV-2024-003 |
API: crear coincidencia dividida
cURL
Respuesta
Coincidencia agregada N:1
Múltiples transacciones de origen coinciden con una transacción de destino.
Casos de uso comunes
- Depósitos bancarios: Múltiples cheques depositados como un crédito
- Liquidaciones de tarjeta: Lote diario de transacciones como un depósito
- Consolidación de efectivo: Múltiples recibos de caja a un depósito
Ejemplo: depósito consolidado
Orígenes (Punto de venta):| ID | Monto | Caja |
|---|---|---|
| pos_001 | $1,250.00 | REG-01 |
| pos_002 | $980.00 | REG-02 |
| pos_003 | $1,770.00 | REG-03 |
| ID | Monto | Referencia |
|---|---|---|
| bank_002 | $4,000.00 | DEPOSIT-20240120 |
API: crear coincidencia agregada
cURL
Respuesta
Coincidencia N:M muchos a muchos
Múltiples transacciones de origen coinciden con múltiples transacciones de destino. Este es el patrón más complejo y requiere el solucionador de grafos.
Casos de uso comunes
- Compensación intercompañía: Múltiples facturas compensadas contra múltiples pagos
- Liquidaciones comerciales: Compensación compleja con llenados parciales
- Reconocimiento de ingresos: Múltiples entregas contra múltiples anticipos
Ejemplo: compensación intercompañía
Orígenes (Cuentas por pagar Empresa A):| ID | Monto | Referencia |
|---|---|---|
| pay_001 | $10,000.00 | IC-PAY-001 |
| pay_002 | $8,000.00 | IC-PAY-002 |
| ID | Monto | Referencia |
|---|---|---|
| rec_001 | $12,000.00 | IC-REC-001 |
| rec_002 | $6,000.00 | IC-REC-002 |
API: crear coincidencia N:M
Seguimiento de asignación
Matcher rastrea cuánto de cada transacción ha sido asignado a coincidencias.
Estado de asignación de transacción
| Estado | Descripción |
|---|---|
UNALLOCATED | Sin asignación (0%) |
PARTIALLY_ALLOCATED | Algo de asignación (1-99%) |
FULLY_ALLOCATED | Asignación completa (100%) |
Ver asignación de transacción
Respuesta
Ejemplo de asignación parcial
Transacción con monto no asignado restante:Coincidencias parciales
Por defecto, Matcher requiere asignación completa. Habilite la coincidencia parcial para escenarios donde la coincidencia completa no es posible.
Habilitar coincidencia parcial
Comportamientos de coincidencia parcial
| Comportamiento | Descripción |
|---|---|
propose_with_residual | Crear coincidencia, rastrear residuo |
create_exception | Crear excepción para porción no coincidente |
hold_for_review | Retener hasta que lleguen transacciones adicionales |
Respuesta de coincidencia parcial
Solucionador de grafos
Para escenarios N:M complejos, Matcher usa un solucionador de grafos bipartitos para encontrar coincidencias óptimas.
Cómo funciona
- Construir grafo: Crear grafo bipartito con orígenes y destinos como nodos
- Pesos de aristas: Calcular confianza de coincidencia como pesos de aristas
- Resolver: Encontrar coincidencia de máximo peso
- Asignar: Distribuir montos entre pares coincidentes
Configuración del solucionador de grafos
Algoritmos del solucionador
| Algoritmo | Mejor para | Complejidad |
|---|---|---|
hungarian | Grafos pequeños (<100 nodos) | O(n³) |
auction | Grafos medianos (<1000 nodos) | O(n² log n) |
greedy | Grafos grandes (>1000 nodos) | O(n log n) |
Ejecutar solucionador de grafos
cURL
Respuesta
Reglas de tolerancia
Configure cómo se aplica la tolerancia a coincidencias divididas y agregadas.
Modos de tolerancia
| Modo | Descripción | Caso de uso |
|---|---|---|
residual | Aplicar al monto final no coincidente | Por defecto, más común |
per_item | Aplicar a cada transacción | Coincidencia estricta |
total | Aplicar a la suma de todas las transacciones | Coincidencia flexible |
Configurar modo de tolerancia
Ejemplos de tolerancia
Modo residual (por defecto):- Origen: $10,000.00
- Destinos: $9,980.00 total
- Residuo: $20.00 (0.2%)
- Tolerancia: 1% = $100.00
- Resultado: Coincidencia (residuo dentro de tolerancia)
- Origen: $10,000.00
- Destino 1: $5,010.00 (0.2% varianza)
- Destino 2: $4,980.00 (0.4% varianza)
- Cada uno dentro de 1% de tolerancia
- Resultado: Coincidencia (todos los elementos dentro de tolerancia)
Auto-descubrimiento
Matcher puede descubrir automáticamente patrones de división y agregación.
Habilitar auto-descubrimiento
Heurísticas de descubrimiento
| Heurística | Descripción |
|---|---|
| Suma de montos | Encontrar combinaciones que suman al objetivo |
| Patrones de referencia | Coincidir basado en referencias comunes |
| Agrupación temporal | Agrupar transacciones por proximidad de fecha |
| Agrupación por contraparte | Agrupar por misma contraparte |
Ver grupos descubiertos
Respuesta
Reportes
Resumen de coincidencias grupales
Mejores prácticas
Comience con 1:N y N:1 antes de N:M
Comience con 1:N y N:1 antes de N:M
La coincidencia muchos a muchos es compleja. Comience con patrones más simples y habilite N:M solo cuando sea necesario.
Establezca límites razonables de tamaño de grupo
Establezca límites razonables de tamaño de grupo
Los grupos grandes son más difíciles de verificar. Limite el tamaño del grupo según sus requisitos de auditoría.
Use auto-descubrimiento con revisión
Use auto-descubrimiento con revisión
Habilite el auto-descubrimiento para encontrar patrones, pero requiera revisión humana antes de confirmar coincidencias complejas.
Monitoree los residuos
Monitoree los residuos
Rastree los montos residuales a lo largo del tiempo. Los residuos crecientes pueden indicar problemas sistemáticos de coincidencia.
Documente las reglas de asignación
Documente las reglas de asignación
Cuando son posibles múltiples estrategias de asignación, documente por qué se eligieron asignaciones específicas.
Pruebe el solucionador de grafos con datos de muestra
Pruebe el solucionador de grafos con datos de muestra
Antes de habilitar el solucionador de grafos en producción, pruebe con datos representativos para verificar los resultados.

