Back to packs

SOX Financial Data Controls

SOXfree

Data quality controls for SOX Section 404 compliance — financial reporting accuracy, completeness, and auditability.

23 rules 1397 downloads4.2 avg (102)
soxfinancialauditreportingsection-404internal-controlsreconciliation
4.2(102 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 sox-financial-controls --format soda --table YOUR_TABLE

About this pack

Pre-built rule pack for organizations subject to Sarbanes-Oxley (SOX) Section 404. Covers: - Financial amount validation (non-negative, range limits, outlier detection) - Currency code standardization (ISO 4217) - Account/entity uniqueness and referential integrity - Reconciliation checks (cross-table consistency) - Data completeness for required reporting fields - Audit trail freshness and timeliness - Statistical stability checks for financial metrics Each rule is mapped to specific SOX 404(a) and 404(b) requirements.

Sources & References

BCBS_239 — Principle 2

Data architecture and infrastructure must use standardized reference data

Management must assess the effectiveness of internal control over financial reporting including segregation of duties

IT controls must ensure that only authorized transactions are recorded in the financial system

Officers must certify the accuracy and completeness of financial reports including documentation of adjustments

What's included

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

Checks included (23)

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%).

Required Fields for Status

Asserts that when a status column has a specific value (e.g., 'active'), a set of required fields must all be populated (non-null). Enforces lifecycle-based data completeness rules where later stages demand richer data.

SOX Journal Entry Authorization Check(approved_by)

Validates that all journal entries have been authorized. Both the approver identity and approval timestamp must be non-null, ensuring no unauthorized entries exist in the general ledger.

SOX Transaction Reversal Documentation

Validates that reversed transactions have a documented reason. When a transaction is flagged as reversed, the reversal_reason column must be non-null and non-empty to maintain a proper audit trail.

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.

Cross-Column Consistency

Asserts that when column A has a specific value, column B has the expected corresponding value. Enforces business rules such as 'if status is shipped, shipped_date must not be null' or 'if country is US, currency must be USD'.

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.

SOX Segregation of Duties Check

Validates that the same person did not both create and approve a transaction or journal entry. The creator and approver must be different individuals to prevent fraud and ensure proper internal controls.

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.

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.

Primary Key Valid

Validates that a column qualifies as a valid primary key by ensuring all values are both unique and not null. Combines uniqueness and completeness checks into a single rule.

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.

Mean In Range

Asserts that the arithmetic mean of a numeric column falls within an expected range. Detects data drift, calculation errors, or upstream changes that shift the central tendency of key metrics.

Standard Deviation Stable

Asserts that the standard deviation of a numeric column has not changed more than the specified percentage from a known baseline. Detects changes in data variability that may indicate corrupted data, changed source systems, or process failures.

ISO Currency Code Validation(currency_code)

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

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.