Reconcio

Результаты и файл расхождений

Каждый показатель экрана результатов и точная структура CSV с расхождениями.

Экран результатов
Экран результатов

Сходимость

Сходимость — доля ключей, сошедшихся полностью, среди всех ключей, найденных хотя бы в одном файле:

convergence = matched / (matched + mismatched + only_in_a + only_in_b)

Это быстрая проверка состояния периода. Если сходимость ниже 70%, Reconcio добавляет рекомендацию: чаще всего ключ не указывает на одни и те же записи в двух файлах или условие стоит не на той паре колонок.

Счетчики строк

Счетчики охватывают все ключи обоих файлов:

ПолеЗначение
matched_rows_countКлюч есть в обоих файлах по одному разу, и все условия выполнены.
mismatched_rows_countКлюч есть в обоих файлах, но хотя бы одно условие не выполнено или ключ встречается больше одного раза.
missed_rows_count_in_file_aКлюч есть только в файле B.
missed_rows_count_in_file_bКлюч есть только в файле A.
duplicate_key_rows_countКлючи, встретившиеся в одном из файлов больше одного раза. Совпавшими они не считаются никогда: входят в расходящиеся или отсутствующие строки.
Почему повторы не совпадают: если в учете две проводки по 50 с одним ключом, а у PSP один платеж на 100, сравнение «какой-нибудь строки» дало бы случайный результат. Reconcio показывает такие ключи, а не угадывает.

Итоги сумм

Для числовых сравниваемых колонок Reconcio показывает итоги в каждом файле и их разницу, отдельно для целых и дробных колонок. Числа 64-битные, поэтому итоги точны до цента.

Итоги числовых колонок
Итоги числовых колонок
ПолеЗначение
column_nameНазвание колонки (как в файле A)
total_aСумма колонки в файле A
total_bСумма колонки в файле B
differencetotal_a − total_b
difference_percentРазница в процентах от total_a
matching_rateДоля строк с равными значениями, от 0 до 1

Статистика ключа

Качество сверки зависит от ключа. Эта статистика показывает повторы, пустые значения и то, насколько хорошо ключ узнает записи.

ПолеЗначение
column_nameКлючевая колонка
matching_rateДоля значений ключа, найденных в обоих файлах, от 0 до 1
duplicates_in_a, duplicates_in_bПовторяющиеся значения ключа в файле A и файле B
nulls_in_a, nulls_in_bПустые значения ключа — такие строки сопоставить нельзя
effectivenessНасколько колонка годится как идентификатор, от 0 до 1

Статистика колонок

ПолеЗначение
column_nameСравниваемая колонка
matching_rateДоля строк, где значения сошлись, от 0 до 1
nulls_in_a, nulls_in_bПустые значения в файле A и файле B
both_nullСтроки, где оба значения пустые, — они считаются равными
mismatch_countСтроки, где оба значения есть и различаются
has_issues, has_nullsПризнаки, по которым колонка выделяется на экране результатов

Рекомендации

У каждой рекомендации есть type и details с данными, к которым она относится.

ТипКогда
low_convergenceСходимость ниже 70%.
missing_rowsЧасть ключей есть только в одном файле. В деталях — файл и число строк.
duplicates_in_columnВ ключевой колонке есть повторы. В деталях — файл, колонка и число повторов.
numeric_column_differenceИтоги числовой колонки в файлах различаются.

Файл расхождений

Файл расхождений — CSV, по строке на каждый ключ. В нем рядом стоят значения из обоих файлов и результат каждой проверки: видно, что именно разошлось, и файл можно отправить тому, кто будет разбираться.

Колонки идут в таком порядке:

  1. Служебные поля: all_rule_checks (1 — ключ сошелся полностью, 0 — нет), absent_in_file_a иabsent_in_file_b (1 — ключа нет в этом файле),rows_in_file_a и rows_in_file_b (сколько строк с ключом было в каждом файле).
  2. Ключевые колонки — без префикса, с названиями из файла A.
  3. Значения каждой сравниваемой колонки:file_a_<Колонка> и file_b_<Колонка>. Значение пустое, если ключа нет в этом файле.
  4. Проверки каждой сравниваемой колонки, по имени условия:eq_<Колонка>, gt_, gte_,lt_, lte_, ignore_. 1 — условие выполнено, 0 — не выполнено или ключа нет в одном из файлов.
Текст сравнивается без учета регистра: ABC и abc равны. Два пустых значения считаются равными для EQ, GTE и LTE.
Файл расхождений хранится в течение срока, заданного в установке; дата удаления — diff_file_expired_at в API, она же видна на экране результата. Скачайте файл до нее.

Пример

Ключ InvoiceId; EQ для Amount иCurrency; GTE для Quantity. Колонки файла:

# Служебные поля (всегда первые)
all_rule_checks    1 = ключ сошелся полностью
absent_in_file_a   1 = ключ есть только в файле B
absent_in_file_b   1 = ключ есть только в файле A
rows_in_file_a     строк с этим ключом в файле A
rows_in_file_b     строк с этим ключом в файле B
# Ключевая колонка (без префикса)
InvoiceId
# Значения из обоих файлов, для каждой сравниваемой колонки
file_a_Amount      file_b_Amount
file_a_Currency    file_b_Currency
file_a_Quantity    file_b_Quantity
# Результаты проверок, для каждой сравниваемой колонки
eq_Amount  eq_Currency  gte_Quantity

Несколько строк:

all_rule_checks,absent_in_file_a,absent_in_file_b,rows_in_file_a,rows_in_file_b,InvoiceId,file_a_Amount,file_b_Amount,file_a_Currency,file_b_Currency,file_a_Quantity,file_b_Quantity,eq_Amount,eq_Currency,gte_Quantity
1,0,0,1,1,INV-015,200.00,200.00,EUR,EUR,4,3,1,1,1
0,0,0,1,1,INV-003,1000.00,1000.01,EUR,EUR,5,5,0,1,1
0,0,0,1,1,INV-007,500.00,500.00,EUR,GBP,3,3,1,0,1
0,0,0,2,1,INV-042,50.00,100.00,EUR,EUR,1,1,0,1,1
0,1,0,0,1,INV-089,,750.00,,EUR,,2,0,0,0
0,0,1,1,0,INV-210,450.00,,EUR,,1,,0,0,0
  • INV-015 — сошелся полностью (4 ≥ 3 выполняет GTE).
  • INV-003 — сумма расходится на один цент.
  • INV-007 — расходится валюта.
  • INV-042 — две строки в файле A на одну в файле B: совпавшим не считается, какими бы ни были значения.
  • INV-089 — только в файле B.
  • INV-210 — только в файле A.

Полезные фильтры в таблице или SQL:

-- только расходящиеся ключи (есть в обоих файлах)
all_rule_checks = 0 AND absent_in_file_a = 0 AND absent_in_file_b = 0
-- ключи только в одном файле
absent_in_file_a = 1 OR absent_in_file_b = 1
-- ключи, встретившиеся больше одного раза
rows_in_file_a > 1 OR rows_in_file_b > 1

Статусы

СтатусЗначение
uploadedФайлы получены, обработка не началась.
convertingФайлы готовятся к сравнению (например, XLSX переводится в CSV).
analyzingЧтение файлов, определение типов колонок, подбор пар.
awaiting_user_configЖдет выбора ключа и сравниваемых колонок.
reconcilingИдет сравнение.
completedГотово: доступны результат, файл расхождений и отчет.
failedОшибка; текст — в поле error.

Не нашли ответ? Напишите на support@reconcio.pro