The reconciliation step where we use no model at all
Описание и применение
Детерминированный механизм сопоставления подписок между HubSpot и Stripe без использования моделей выявил 240 несоответствий и суммарную разницу в 900 € за 3 000 пар, подтверждая корректность правил сопоставления.
Задача
Reconciling 3,000 subscriptions a week between HubSpot and Stripe produced 240 discrepancies; a read‑only discrepancy report is needed for an operations lead.
Результат
The deterministic engine classified all 3,000 pairs as expected, found all 240 planted discrepancies with no false positives or missed cases, and reported a supported amount delta of €900.00. The comparison ran in milliseconds and the build regenerates and re‑verifies each time.
Рабочий процесс
- Define comparison contract: stable ID, same period, EUR cents, agreed status vocabulary.
- Index both sides by subscription ID.
- For each ID, determine outcome: if reasons exist → review; else compute amountDeltaCents, check safe integer, push reason codes for mismatches, set outcome to discrepancy or match.
- Collect source rows, reason codes, and amount delta for each pair.
- Generate expected‑result manifest with known counts for matching, amount differences, status differences, and unsupported currency cases.
- Verify engine output against manifest: classification, reason codes, per‑pair delta, and supported total.
- Publish summary, examples, review queue, and evidence file for external verification.
Доказательства
The engine indexes both sides by subscription ID and gives every ID one of three outcomes: match, discrepancy, review.
On this dataset, the run classifies all 3,000 pairs as expected. It finds all 240 planted discrepancies with no false positives and no missed cases, and every reason code matches.
The comparison itself runs in milliseconds; the build regenerates and re‑verifies it each time.
- Дата записи: 2026-10-11T15:10:59.542Z