
Retail Data Contract Template



Par Santiago Viquez
Retail
Ensure Retail Orders data is fresh, complete, and reliable before it’s used downstream.



Data contract description
This data contract enforces schema stability, a 24-hour freshness SLA, required identifiers and timestamps, prevents missing or invalid values, and applies controlled formats for currencies, payment methods, and country codes. Together, these checks prevent incomplete or invalid orders from breaking analytics, dashboards, or revenue reporting.
datasetchecks: - schema: {} - freshness: column: created_at threshold: unit: hour must_be_less_than_or_equal: 24
columns: - name: order_id data_type: string checks: - missing: name: No missing value - name: product_id data_type: string checks: - missing: name: No missing values - name: customer_id data_type: string checks: - missing: name: No missing values - name: order_quantity data_type: integer checks: - missing: - invalid: name: Positive quantity valid_min: 1 - name: discount data_type: float checks: - invalid: name: Positive quantity valid_min: 1 - name: discount_currency data_type: string checks: - invalid: name: Allowed currency is USD valid_values: - usd - name: billing_address data_type: string checks: - missing: - name: shipping_address data_type: string checks: - missing: - name: payment_method data_type: string checks: - missing: - invalid: name: Allowed payment methods valid_values: - cash - credit_card - transfer - name: order_date data_type: dateTime checks: - missing: - name: ship_date data_type: dateTime checks: - missing: - name: country_code data_type: string checks: - missing: - invalid: name: Two-letter country code valid_format: regex: ^[A-Za-z]{2}$ name: Exactly two letters - name: total_order_value data_type: float checks: - missing: - name: created_at data_type: dateTime checks: - missing
Data contract description
This data contract enforces schema stability, a 24-hour freshness SLA, required identifiers and timestamps, prevents missing or invalid values, and applies controlled formats for currencies, payment methods, and country codes. Together, these checks prevent incomplete or invalid orders from breaking analytics, dashboards, or revenue reporting.
datasetchecks: - schema: {} - freshness: column: created_at threshold: unit: hour must_be_less_than_or_equal: 24
columns: - name: order_id data_type: string checks: - missing: name: No missing value - name: product_id data_type: string checks: - missing: name: No missing values - name: customer_id data_type: string checks: - missing: name: No missing values - name: order_quantity data_type: integer checks: - missing: - invalid: name: Positive quantity valid_min: 1 - name: discount data_type: float checks: - invalid: name: Positive quantity valid_min: 1 - name: discount_currency data_type: string checks: - invalid: name: Allowed currency is USD valid_values: - usd - name: billing_address data_type: string checks: - missing: - name: shipping_address data_type: string checks: - missing: - name: payment_method data_type: string checks: - missing: - invalid: name: Allowed payment methods valid_values: - cash - credit_card - transfer - name: order_date data_type: dateTime checks: - missing: - name: ship_date data_type: dateTime checks: - missing: - name: country_code data_type: string checks: - missing: - invalid: name: Two-letter country code valid_format: regex: ^[A-Za-z]{2}$ name: Exactly two letters - name: total_order_value data_type: float checks: - missing: - name: created_at data_type: dateTime checks: - missing
Data contract description
This data contract enforces schema stability, a 24-hour freshness SLA, required identifiers and timestamps, prevents missing or invalid values, and applies controlled formats for currencies, payment methods, and country codes. Together, these checks prevent incomplete or invalid orders from breaking analytics, dashboards, or revenue reporting.
datasetchecks: - schema: {} - freshness: column: created_at threshold: unit: hour must_be_less_than_or_equal: 24
columns: - name: order_id data_type: string checks: - missing: name: No missing value - name: product_id data_type: string checks: - missing: name: No missing values - name: customer_id data_type: string checks: - missing: name: No missing values - name: order_quantity data_type: integer checks: - missing: - invalid: name: Positive quantity valid_min: 1 - name: discount data_type: float checks: - invalid: name: Positive quantity valid_min: 1 - name: discount_currency data_type: string checks: - invalid: name: Allowed currency is USD valid_values: - usd - name: billing_address data_type: string checks: - missing: - name: shipping_address data_type: string checks: - missing: - name: payment_method data_type: string checks: - missing: - invalid: name: Allowed payment methods valid_values: - cash - credit_card - transfer - name: order_date data_type: dateTime checks: - missing: - name: ship_date data_type: dateTime checks: - missing: - name: country_code data_type: string checks: - missing: - invalid: name: Two-letter country code valid_format: regex: ^[A-Za-z]{2}$ name: Exactly two letters - name: total_order_value data_type: float checks: - missing: - name: created_at data_type: dateTime checks: - missing
Ho to use this contract in Soda Code
Copy the code bellow and paste it in your code editor
pip install soda-postgres
Using data contracts in Soda Cloud

4,4 sur 5
Commencez à faire confiance à vos données. Aujourd'hui.
Trouvez, comprenez et corrigez tout problème de qualité des données en quelques secondes.
Du niveau de la table au niveau des enregistrements.
Adopté par




4,4 sur 5
Commencez à faire confiance à vos données. Aujourd'hui.
Trouvez, comprenez et corrigez tout problème de qualité des données en quelques secondes.
Du niveau de la table au niveau des enregistrements.
Adopté par
Solutions




4,4 sur 5
Commencez à faire confiance à vos données. Aujourd'hui.
Trouvez, comprenez et corrigez tout problème de qualité des données en quelques secondes.
Du niveau de la table au niveau des enregistrements.
Adopté par
Solutions



