Back to packs

Financial Transaction Quality

free

Validate transaction data — amounts, currencies, account references, dates, and reconciliation checks for payment processing.

19 rules 2840 downloads4.4 avg (170)
transactionspaymentsbankingfintechreconciliationamounts
4.4(170 ratings)

Sign in to rate this pack

Test this pack with your data

Download the template, fill in your data, and see quality results instantly.

Test This Pack

Download & Install

Choose your tool — get a ready-to-run file

Run this on your data? Upload your CSV — we'll auto-map the columns, validate, and report the bad rows.Test my data
Or use the CLI
$ npx dqhub install financial-transactions --format soda --table YOUR_TABLE

About this pack

Comprehensive checks for financial transaction data pipelines. Covers: - Amount validation: non-negative, limits, outlier detection - Currency standardization: ISO 4217 codes - Account references: IBAN format, referential integrity - Temporal checks: no future dates, date ordering (trade date <= settlement date) - Reconciliation: cross-table totals, sum matching - Completeness: required transaction fields - Uniqueness: transaction ID deduplication Suitable for banks, payment processors, fintech companies, and any organization handling financial data.

Sources & References

BCBS_239 — Principle 2

Data architecture and infrastructure must use standardized reference data

BCBS_239 — Principle 3

Accuracy of financial reference data including account identifiers

GDPR — Article 44-49

Cross-border transfer validation requires valid country identification

What's included

5range rules
3format rules
3consistency rules
2completeness rules
2uniqueness rules
2referential integrity rules
1freshness rules
1volume rules

Checks included (19)

Non-Negative Values

Validates that a numeric column contains no negative values. Common for quantities, counts, amounts, durations, and other measures that should never be negative.

Amount Limit

Validates that financial amounts do not exceed a configurable limit. Catches data entry errors, currency conversion issues, and fraudulent transactions. Supports both upper and optional lower bounds.

Value In Range

Validates that all values in a numeric column fall within a specified minimum and maximum range (inclusive). Catches data entry errors, unit conversion issues, and out-of-bounds values.

Z-Score Outlier Detection

Detects statistical outliers by checking if values fall within X standard deviations of the mean (z-score method). Values with |z-score| > threshold are flagged as potential outliers. Useful for detecting data entry errors, measurement anomalies, and distribution shifts.

Date Not In Future

Validates that a date or timestamp column contains no values in the future. Catches data entry errors, timezone issues, and ETL bugs that produce future-dated records for columns like birth_date, transaction_date, or created_at.

ISO Currency Code Validation(currency_code)

Validates that values are valid ISO 4217 currency codes (e.g., USD, EUR, GBP, JPY)

IBAN Format Validation(iban)

Validates International Bank Account Number format — 2-letter country code, 2 check digits, and up to 30 alphanumeric characters

ISO Country Code Validation(country_code)

Validates that values are valid ISO 3166-1 alpha-2 country codes (e.g., US, GB, DE, FR)

Sum Matches Total

Asserts that the sum of detail/line-item rows matches the corresponding header or total row value. Validates financial reconciliation, order totals, and any parent-child numeric relationships where parts must equal the whole.

Date Order Valid

Asserts that a start date column is always before or equal to an end date column for every row. Catches data entry errors, timezone conversion bugs, or ETL transformation issues that invert temporal ordering.

Enum Value Valid

Asserts that all values in a column belong to a predefined set of allowed values. Catches typos, unexpected category values, or upstream system changes that introduce new enum variants without coordination.

Column Not Null

Asserts that a specified column contains no null values. This is the most fundamental completeness check — every row must have a value present in the target column.

Column Completeness Threshold

Asserts that a column meets a minimum completeness threshold, measured as the percentage of non-null values. Useful when some nulls are acceptable but the overall population rate must stay above a defined level (e.g., 95%).

Column Unique

Validates that all non-null values in a specified column are unique. Useful for natural keys, email addresses, identifiers, and any column where duplicates indicate a data quality issue.

Composite Unique

Validates that the combination of specified columns forms a unique key. Ensures no two rows share the same values across all listed columns, enforcing composite key integrity.

Foreign Key Valid

Validates that all non-null values in a foreign key column exist in the referenced parent table's primary key column. Detects orphaned references that break referential integrity.

Cross-Table Count Match

Validates that row counts or aggregated values match between related tables. For example, the number of order line items should match the item_count on the order header, or the sum of transaction amounts should match the account balance.

Table Freshness

Asserts that a table has been updated within the specified number of hours. Uses the table's metadata (last modified timestamp) or a designated timestamp column to verify data is fresh and pipelines are running on schedule.

Row Count Growth

Asserts that the current row count has not decreased more than the specified percentage compared to the previous run's row count. Detects accidental data loss, failed incremental loads, or unintended deletions between pipeline runs.