트랜잭션 일치 엔진 이해

이 항목은 트랜잭션 일치 엔진의 트랜잭션 평가 방법을 이해하는 데 도움이 됩니다.

이 항목의 예에서는 소스 시스템 데이터 소스와 서브시스템 데이터 소스의 트랜잭션이 다음과 같다고 가정합니다.


날짜가 다른 세 개의 소스 시스템 및 하위 시스템 트랜잭션을 보여주는 그래픽

일치 규칙

  1. 소스 시스템 "송장"이 서브 시스템 송장과 정확하게 일치합니다.

  2. 소스 시스템은 -1에서 +3까지의 허용오차 내에서 서브 시스템 날짜와 일치합니다.

  3. 소스 시스템 "금액"은 서브 시스템 금액과 정확하게 일치합니다.

소스 시스템 및 서브 시스템 "금액" 속성은 밸런싱 속성입니다.

평가 순서/일치하는 첫번째 항목 선택

트랜잭션은 데이터베이스에 존재하는 순서대로 일치에 대해 평가되며, 일치에 대해 평가되는 트랜잭션 중 조건을 충족하는 첫번째 트랜잭션이 일치에 대해 선택됩니다.

평가 순서/가장 낮은 트랜잭션 ID가 제일 먼저 일치

트랜잭션이 로드되면 트랜잭션 ID가 순차적으로 할당됩니다. 그러므로 트랜잭션 ID가 가장 낮은 일치 트랜잭션은 가장 먼저 로드되었으며 가장 먼저 일치시킨다는 의미입니다.

일대일 일치에서, 세번째 트랜잭션과 일치하는 것으로 규정된 두 개의 트랜잭션이 있지만 하나만 일치할 수 있으면, 트랜잭션 ID 가 가장 낮은 트랜잭션이 일치하는 것으로 선택됩니다.

하위 집합 규칙의 경우 일치는 일치 생성 중에 금액과 트랜잭션 ID를 기준으로 트랜잭션을 정렬합니다. 두 트랜잭션의 금액이 동일하면 일치에서는 트랜잭션 ID가 가장 낮은 트랜잭션이 사용됩니다.

모호한 항목 없음을 선택한 상태로 동일한 규칙을 실행하면 모든 트랜잭션이 일치하지 않은 상태로 남습니다(예상대로).

허용오차 평가

차이가 있는 트랜잭션의 일치를 허용하는 허용오차 레벨을 설정하는 방법은 세 가지입니다. 다음을 설정할 수 있습니다.

  • 트랜잭션에 적용되는 허용오차 차이 값. 최대 차이가 -1에서 +3인 자동 일치를 예로 들 수 있습니다.
  • 퍼센트로 표현되는 허용오차 임계값 레벨. 크기 값이 최대 0.5%인 자동 일치를 예로 들 수 있습니다.
  • 차이 크기와 함께 퍼센트로 표현되는 허용오차 임계값 레벨. 최대값이 1.0%이고 최대 크기가 100.00인 자동 일치를 예로 들 수 있습니다.

    주:

    퍼센트 값은 상위 및 하위 허용오차 둘 다 100을 초과할 수 없으며 숫자 또는 정수 데이터 소스 속성에 대해 사용할 수 있습니다.

값으로 설정된 허용오차 평가

설정된 값이 있는 허용오차를 평가하는 경우 상위/하위 허용오차 값이 트랜잭션에 적용되는 방법에 따라 계산이 영향을 받습니다. 예를 들어 날짜 값에 허용오차를 적용하는 샘플 트랜잭션에서 인증된 허용오차는 -1 및 +3입니다. 이러한 값을 소스 시스템 테이블의 첫번째 레코드에 적용하면 9월 18일이 9월 15일에서 +3일 이하이므로 하위 시스템 테이블의 첫번째 레코드가 일치 규칙을 충족합니다. 그러나 소스 시스템이 아닌 하위 시스템 트랜잭션에 허용오차를 적용하는 경우 9월 15일이 9월 18일에서 -1일 이하가 아니므로 일치에 실패합니다.

주:

위의 예에서는 날짜 허용오차를 사용하지만 날짜, 시간 및 정수 데이터 유형의 허용오차에도 동일한 논리가 적용됩니다.

결과가 일치하도록 하기 위해 허용오차 평가 시 다음 방식을 사용하도록 선택했습니다.

일대일 규칙 유형 평가

일대일 규칙 유형을 사용하면 소스 트랜잭션을 "기본 또는 고정 트랜잭션"으로 처리합니다. 이 예에서는 평가가 수행되는 방식을 보여 줍니다. 이 예에서는 날짜 허용오차 시작이 영(0)으로 설정되고 종료가 +3으로 설정되었다고 가정합니다.

  1. 첫번째 소스 트랜잭션으로 시작하면 허용오차 제한이 트랜잭션 날짜 값에 추가되어 하위 시스템에서 허용 가능한 범위의 날짜 값이 파생됩니다.
  2. 그런 다음, 일치를 충족하는 하위 시스템의 첫번째 트랜잭션이 선택됩니다. 이 예에서는 첫번째 트랜잭션의 소스 날짜 값이 9월 15일입니다.
  3. 0에서 +3까지의 허용오차를 하위 시스템 트랜잭션에 추가하면 날짜 값이 9월 15일 이후이고 9월 18일 이전인 소스 시스템의 첫번째 트랜잭션이 일치로 선택됩니다. 이 일치는 아래에서 녹색으로 식별됩니다:


    첫번째 트랜잭션 소스 시스템 예를 보여주는 그래픽
  4. 계속해서 날짜 값이 9월 16일인 두번째 소스 트랜잭션에서는 날짜가 9월 16일 이후이고 9월 19일 이전인 하위 시스템의 첫번째 트랜잭션을 찾습니다. 이 9월 17일 일치는 범위 내에 해당하며 아래 빨간색으로 표시되어 있습니다.


    두번째 하위 시스템 트랜잭션 예를 보여주는 그래픽
  5. 계속해서 날짜 값이 9월 17일인 세번째 소스 시스템 트랜잭션에서는 날짜가 9월 16일 이상이고 9월 20일 이하인 소스 시스템의 첫번째 트랜잭션을 찾아야 한다고 가정하겠습니다. 이 조건을 충족하는 소스 시스템의 트랜잭션이 없으므로 일치가 생성되지 않습니다.

주:

단일 소스 일치 프로세스의 경우 양수 트랜잭션이 음수 트랜잭션과 일치합니다.

일대다 규칙 유형 평가

일대다 규칙 유형을 사용하면 소스 시스템 트랜잭션이 기본 트랜잭션입니다.

주:

일대다 규칙 유형에서는 밸런싱 속성 외에도 정확히 일치하거나 허용 오차를 사용하는 규칙 조건 하나를 정의해야 합니다.

다대일 규칙 유형 평가

다대일 규칙 유형을 사용하면 서브 시스템 트랜잭션이 기본 트랜잭션입니다.

주:

다대일 규칙 유형에서는 밸런싱 속성 조건 외에도 정확히 일치하거나 허용 오차를 사용하는 규칙 조건 하나를 정의해야 합니다.

다대다 규칙 유형 평가

다대다 규칙 유형을 사용하는 경우 기본 트랜잭션이 없습니다. 대신 조건은 규칙 집합을 사용하여 평가됩니다.

날짜 허용오차가 지정된 다대다 규칙 유형의 일치를 평가하기 위해 사용되는 프로세스는 다음과 같습니다.

  1. 소스 시스템에서 최소 날짜 값과 최대 날짜 값을 찾습니다.
  2. 서브시스템에서 다음 공식을 사용하여 일치를 결정할 때 허용되는 최소 날짜 값과 최대 날짜 값을 계산합니다.
    • 최소 서브시스템 날짜는 최대 소스 시스템 날짜 + 날짜 허용오차 범위의 시작 값 이상이어야 합니다.
    • 최대 서브시스템 날짜는 최소 소스 시스템 날짜 + 날짜 허용오차 범위의 종료 값 이하여야 합니다.
  3. 일치를 결정하는 경우 계산된 최소 서브시스템 날짜와 최대 서브시스템 날짜 내에 해당하는 모든 서브시스템 트랜잭션을 고려하십시오.

최소 서브시스템 날짜는 최대 서브시스템 날짜와 같거나 그 이전이어야 합니다.

예: 날짜 허용오차가 포함된 다대다 규칙 유형

이 예에서 일치에 허용되는 날짜 허용오차는 -2~+3입니다.

상점 ID 3738에 대한 다음 소스 시스템 트랜잭션을 살펴보십시오.

표 9-1 소스 시스템 트랜잭션

상점 ID 금액 일자
3738 $715 23년 2월 7일
3738 $595 23년 2월 7일
3738 $960 23년 2월 4일
3738 -$138 23년 2월 4일

소스 시스템 트랜잭션에서 최소 날짜 값은 23년 2월 4일이고 최대 날짜 값은 23년 2월 7일입니다.

상점 ID 3738에 대한 다음 서브시스템 트랜잭션을 살펴보십시오.

표 9-2 서브시스템 트랜잭션

상점 ID 금액 일자
3738 $387 23년 2월 5일
3738 $211 23년 2월 5일
3738 $378 23년 2월 7일
3738 $342 23년 2월 5일
3738 $714 23년 2월 6일
3738 $100 23년 2월 7일

2단계의 공식을 사용하여 일치를 위해 고려해야 하는 서브시스템 트랜잭션의 날짜 범위를 결정합니다.

  • 최소 서브시스템 날짜는 23년 2월 5일(23년 2월 7일 - 2일) 이후여야 합니다.
  • 최대 서브시스템 날짜는 23년 2월 7일(23년 2월 4일 + 3일) 이전이어야 합니다.

그러므로 일치를 생성하는 동안 23년 2월 5일과 23년 2월 7일 사이의 모든 서브시스템 트랜잭션이 고려됩니다. 이 예에서 모든 서브시스템 트랜잭션이 이 범위에 해당합니다.

소스 시스템에서 금액의 합계는 2132입니다. 서브시스템에서 계산된 날짜 범위 내에 해당하는 트랜잭션 금액의 합계는 2132입니다. 그러므로 소스 시스템과 서브시스템 트랜잭션은 일치하는 것으로 간주됩니다.

일치 항목이 생성되지 않은 경우의 예를 이해하기 위해 위와 동일한 소스 시스템 트랜잭션을 살펴보겠습니다. 서브시스템 트랜잭션에서 유일한 변경사항은 마지막 트랜잭션(금액 = 100) 날짜가 23년 2월 8일이라는 것입니다. 일치를 생성할 때 포함될 수 있는 최대 서브시스템 날짜는 23년 2월 7일이므로 23년 2월 8일 날짜의 트랜잭션은 포함되지 않습니다. 소스 시스템의 금액 합계는 2132이지만 서브시스템의 금액 합계는 2032입니다. 그러므로 이러한 소스 및 서브시스템 트랜잭션 세트는 일치하지 않습니다.

주:

다대다 규칙에서는 정확히 일치 조건을 하나 이상 정의해야 합니다.

밸런싱 속성의 일치 규칙 조건 평가

밸런싱 속성의 일치 규칙 조건을 평가하는 방법은 다른 속성의 경우와 약간 다릅니다. 샘플 데이터를 사용하는 다대다 규칙 유형을 고려합니다. 시스템에서 평가하는 방법은 다음과 같습니다.
  1. 시스템에서는 먼저 송장 번호가 일치하는 트랜잭션을 모두 선택합니다(규칙 #1).
  2. 그런 다음 날짜 속성을 평가하여 규칙 조건을 충족하는지 확인합니다(규칙 #2).
  3. 마지막으로 소스 시스템 금액이 하위 시스템 금액과 정확하게 일치하는지 여부를 평가합니다(규칙 #3).

    소스 시스템 및 하위 시스템에 있는 여러 트랙잭션과의 다대다 일치이므로 먼저 금액 값을 데이터 소스별로 합계한 다음 총 합계를 비교해야 합니다.

    이 예에서는 소스 시스템 금액 합계가 $500이며 하위 시스템 금액 합계도 $500이므로 일치 조건이 충족됩니다.


    소스 시스템 금액 합계와 하위 시스템 금액 합계가 일치함을 보여주는 그래픽

주:

동일한 프로세스가 일대다 일치 및 다대일 일치에 적용됩니다. 일치에 대해 동일한 데이터 소스의 여러 트랜잭션이 존재하는 경우 항상 비교를 수행하기 전에 먼저 밸런싱 속성 값을 합계해야 합니다.

퍼센트 및 차이 제한으로 설정된 허용오차 평가

퍼센트 허용오차 옵션은 숫자정수 유형 데이터 소스 속성(밸런싱 속성 포함)에 사용할 수 있으며 다음에 대해 설정될 수 있습니다.

  • 자동 일치 규칙
  • 수동 일치 규칙
  • 기본 속성 매핑
퍼센트인 허용오차 상위/하위 값이 일치에서 사용되는 방법을 살펴보겠습니다. 예를 들어 다음과 같이 가정합니다.
  • 일치 규칙의 하위 허용오차는 1%이며 상위 허용오차도 1%입니다.
  • 최대 크기에 대한 허용오차는 0.5로 설정되어 있습니다.
소스 시스템 크기 하위 시스템 크기 계산된 허용오차 차이(소스 - 하위 시스템 크기) 일치 계산 결과
99.6 100 1% / 99.6 = 0.99 99.6 - 100 = .4 0.4 < 0.99 및 < 0.5 일치를 찾음
99.1 100 1%/99.1 = 0.99 99.1 - 100 = .9 0.9 < 0.99 및 > 0.5 허용오차 차이 최대 제한을 초과했으므로 일치를 찾지 못함
100 99.6 1%/100 = 1 100 - 99.6 = .4 0.4 < 1 및 < 0.5 일치를 찾음
100 99.1 1%/100 = 1 100 - 99.1 = .9 0.9 < 1 및 > 0.5 허용오차 차이 최대 제한을 초과했으므로 일치를 찾지 못함
50, 49.6 50, 50 1% / 99.6 = 0.99 99.6 - 100 = .4 0.4 < 0.99 및 < 0.5 일치를 찾음

일대일 및 일대다 규칙의 날짜 허용오차 평가

날짜 허용오차는 두 데이터 소스 간 트랜잭션 일치에서 고려할 일수입니다. 트랜잭션 일치에서는 가장 일반적인 방식의 트랜잭션 일치로 날짜 허용오차를 고려하므로 예를 들어 GL에서 은행 예금이나 하위 시스템 트랜잭션보다 먼저 소스를 사용가능으로 처리합니다. 이 엔진은 소스에 고정되어 있으며 규칙에 입력된 허용오차 값을 기반으로 진행되는 일치에서 고려할 날짜 값 범위를 계산합니다.

날짜 허용오차 옵션은 날짜 유형 데이터 소스 속성에 사용할 수 있으며 다음 항목에 대해 설정할 수 있습니다.

  • 자동 일치 규칙
  • 수동 일치 규칙
  • 기본 속성 매핑

날짜 허용오차는 매우 유연하므로 다음을 사용하여 일치를 지정하는 데 사용할 수 있습니다.

  • 날짜 범위

    규칙에 날짜 허용오차를 사용하여 일치에서 고려할 날짜 범위를 설정합니다. 규칙 생성에서는 이러한 필드가 시작종료로 레이블 지정되어 범위를 나타냅니다. 엔진은 날짜 허용오차 범위로 작업할 때 많은 유연성을 제공합니다. 예를 들어 오늘과 내일 사이에 일치시킬 트랜잭션을 고려할 수 있습니다. 그러면 시작 날짜와 종료 날짜는 0과 1이 됩니다. 또 다른 예로, 소스 트랜잭션의 2일 후에 트랜잭션 일치를 시작하고 4일 후에 종료할 수 있습니다. 시작 값을 -1, 종료 값을 +1로 입력하여 1일 전에서(-1로 시작) 1일 후까지를 고려할 수도 있습니다.

  • 특정 날짜

    날짜 범위가 아니라 다른 특정일에 한 소스의 트랜잭션을 하위 시스템의 트랜잭션과 일치시킬 수 있도록 하여 날짜 허용오차에 대한 추가 정밀도를 제공합니다. 이렇게 하려면 시작 및 종료 필드의 날짜 허용오차 값을 동일한 값으로 사용합니다. 예를 들어 소스 트랜잭션을 2일 후의 은행 트랜잭션하고만 일치시키려 할 수 있습니다. 시작 필드에 2를 입력하고 종료 필드에도 2를 입력하면 일치에서 정확히 해당 일만 고려할 수 있습니다.

  • 비즈니스 달력을 일반 달력 대신 사용하면 일치에서 휴일 및 주말을 고려하지 않도록 할 수 있습니다.

    기본적으로 Account Reconciliation에서는 일반 달력을 사용하여 날짜 범위의 날짜를 지정합니다. 범위 계산에서 회사 휴무일 또는 주말에는 일수를 세지 않도록 날짜 범위 계산에 비즈니스 달력을 사용하는 옵션도 있습니다. 허용오차를 사용하여 날짜 유형 속성 규칙 조건을 생성하는 경우와 일치 프로세스 기본 속성 매핑에서도 비즈니스 달력 사용 확인란을 옵션으로 사용할 수 있습니다. 수동 일치에는 비즈니스 달력 옵션을 사용할 수 없습니다.

    주:

    비즈니스 달력을 사용하려면 조직 구성 단위의 업무일과 휴일 목록이 포함된 휴일 규칙을 지정해야 합니다. 조직 구성 단위가 프로파일에 지정되면 연계된 비즈니스 달력이 조정을 생성하는 동안 사용됩니다. Account Reconciliation 설정 및 구성 가이드의 조직 구성 단위 정의를 참조하십시오.

다음 예는 날짜 허용오차가 지정되어 있고 비즈니스 달력 확인란이 표시되어 있는 규칙입니다.
날짜 허용오차 값 및 비즈니스 달력 확인란 예

일치 프로세스를 정의할 때 날짜 허용오차를 사용하여 규칙을 생성하는 방법에 대한 자세한 내용은 규칙을 생성하여 일치 프로세스 정의를 참조하십시오.