Blog · Data quality and reconciliation · Insurance
Prevent premium and commission duplication when invoices and carrier statements have several rows for one policy.
One policy can have two invoices and three commission entries. A direct policy-number join produces six combined rows, repeating invoice values three times and commission values twice. The resulting table looks complete but overstates both measures. This is a grain problem rather than a rounding problem.
One row represents: one source transaction, with summaries at a common policy-term or reconciled transaction level.
Useful fields: Policy term ID, invoice ID, invoice line ID, commission statement line ID, source transaction reference, signed amounts, transaction type, currency and allocation share.
Keep invoice and commission facts in separate ledgers. If the question is term-level income, summarize each ledger by term and then join the summaries. If the question is statement reconciliation, use source transaction references and retain unmatched items. Use an allocation only when its basis is documented and approved; do not invent links from similar amounts.
The following records and amounts are invented to show the method. They are not customer results, industry benchmarks or a forecast of Covirage performance.
| Source | Rows for term P1 | Total |
|---|---|---|
| Invoices | 2 | $10,000 premium |
| Commission entries | 3 | $1,500 commission |
| Raw many-to-many join | 6 | Repeated amounts |
The term-level view should still contain $10,000 premium and $1,500 commission. The raw join would show $30,000 premium and $3,000 commission if each repeated amount were summed. Aggregate-first gives one term row without losing the ability to open the original source entries.
A policy-term summary can hide transaction-level timing differences. It is appropriate for a book overview but insufficient to prove that individual carrier receipts or accounting balances have cleared.
Bring a small, authorized sample to Covirage for insurance agencies and brokers. Use the sample to discuss the fields and views your business needs. A dashboard or AI analyst can help explore this question when the required data and definitions are available; missing records still need to be resolved.
Upload sample data to check its structure. Keep unnecessary personal, claims and policyholder details out of an initial sample. The sample check does not establish that every analysis in this guide is available automatically.
These references provide terminology or governance background. The worked example and proposed review method above are original illustrations, not prescribed industry standards.
A many-to-many join may have repeated amounts. Check the number of rows per join key and aggregate or allocate the source facts before combining them.