Bank Accounts

Bank Accounts

Assurez une cohérence irréprochable entre tous vos produits de données

Assurez une cohérence irréprochable entre tous vos produits de données

Ensure data from bank accounts is fresh, complete, and reliable before it is used for payment orchestration, account verification, financial reconciliation, and downstream data consumption.

Data contract description

This data contract is designed for GoCardless, where bank account information is treated as a governed data product within a contract-driven data infrastructure that can provision and manage downstream interfaces such as BigQuery and Pub/Sub. For this use case, the contract gives GoCardless a reliable way to standardize sensitive bank account data by anchoring it to a defined contract_name, schema_version, owning team, a 24-hour freshness expectation on event_time, and core account fields such as bank_account_id, account_balance, and account_holder_name, helping the company preserve trust, ownership, and operational consistency for data that supports payment-related workflows and downstream consumption.

bank_accounts_data_contract.yaml

dataset: datasource/database/schema/bank_accounts

variables:
  CONTRACT_NAME:
    default: "bank_account_information"
  SCHEMA_VERSION:
    default: "1"
  DATA_OWNER_TEAM:
    default: "Bank Data Team"
checks:
  - schema:
      allow_extra_columns: false
      allow_other_column_order: false
  - row_count:
      threshold:
        must_be_greater_than: 0
  - freshness:
      column: event_time
      threshold:
        unit: hour
        must_be_less_than: 24
columns:
  - name: bank_account_id
    data_type: string
    checks:
      - missing:
      - duplicate:
      - invalid:
          name: "Bank Account ID length guardrail"
          valid_min_length: 5
          valid_max_length: 20
  - name: event_time
    data_type: timestamp
    checks:
      - missing:
  - name: schema_version
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Valid schema versions"
          valid_values:
            - "1"
            - "2"
  - name: contract_name
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Contract Name must match"
          valid_values:
            - bank_account_information
  - name: data_owner_team
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Owner Team must be valid"
          valid_values:
            - Bank Data Team
  - name: account_balance
    data_type: float
    checks:
      - invalid:
          name: "Reasonable account balance range"
          valid_min: -1000000
          valid_max: 1000000
  - name: account_holder_name
    data_type: string
    checks:
      - invalid:
          name: "Account Holder Name guardrail"
          valid_min_length: 1
          valid_max_length: 128

Data contract description

This data contract is designed for GoCardless, where bank account information is treated as a governed data product within a contract-driven data infrastructure that can provision and manage downstream interfaces such as BigQuery and Pub/Sub. For this use case, the contract gives GoCardless a reliable way to standardize sensitive bank account data by anchoring it to a defined contract_name, schema_version, owning team, a 24-hour freshness expectation on event_time, and core account fields such as bank_account_id, account_balance, and account_holder_name, helping the company preserve trust, ownership, and operational consistency for data that supports payment-related workflows and downstream consumption.

bank_accounts_data_contract.yaml

dataset: datasource/database/schema/bank_accounts

variables:
  CONTRACT_NAME:
    default: "bank_account_information"
  SCHEMA_VERSION:
    default: "1"
  DATA_OWNER_TEAM:
    default: "Bank Data Team"
checks:
  - schema:
      allow_extra_columns: false
      allow_other_column_order: false
  - row_count:
      threshold:
        must_be_greater_than: 0
  - freshness:
      column: event_time
      threshold:
        unit: hour
        must_be_less_than: 24
columns:
  - name: bank_account_id
    data_type: string
    checks:
      - missing:
      - duplicate:
      - invalid:
          name: "Bank Account ID length guardrail"
          valid_min_length: 5
          valid_max_length: 20
  - name: event_time
    data_type: timestamp
    checks:
      - missing:
  - name: schema_version
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Valid schema versions"
          valid_values:
            - "1"
            - "2"
  - name: contract_name
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Contract Name must match"
          valid_values:
            - bank_account_information
  - name: data_owner_team
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Owner Team must be valid"
          valid_values:
            - Bank Data Team
  - name: account_balance
    data_type: float
    checks:
      - invalid:
          name: "Reasonable account balance range"
          valid_min: -1000000
          valid_max: 1000000
  - name: account_holder_name
    data_type: string
    checks:
      - invalid:
          name: "Account Holder Name guardrail"
          valid_min_length: 1
          valid_max_length: 128

Data contract description

This data contract is designed for GoCardless, where bank account information is treated as a governed data product within a contract-driven data infrastructure that can provision and manage downstream interfaces such as BigQuery and Pub/Sub. For this use case, the contract gives GoCardless a reliable way to standardize sensitive bank account data by anchoring it to a defined contract_name, schema_version, owning team, a 24-hour freshness expectation on event_time, and core account fields such as bank_account_id, account_balance, and account_holder_name, helping the company preserve trust, ownership, and operational consistency for data that supports payment-related workflows and downstream consumption.

bank_accounts_data_contract.yaml

dataset: datasource/database/schema/bank_accounts

variables:
  CONTRACT_NAME:
    default: "bank_account_information"
  SCHEMA_VERSION:
    default: "1"
  DATA_OWNER_TEAM:
    default: "Bank Data Team"
checks:
  - schema:
      allow_extra_columns: false
      allow_other_column_order: false
  - row_count:
      threshold:
        must_be_greater_than: 0
  - freshness:
      column: event_time
      threshold:
        unit: hour
        must_be_less_than: 24
columns:
  - name: bank_account_id
    data_type: string
    checks:
      - missing:
      - duplicate:
      - invalid:
          name: "Bank Account ID length guardrail"
          valid_min_length: 5
          valid_max_length: 20
  - name: event_time
    data_type: timestamp
    checks:
      - missing:
  - name: schema_version
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Valid schema versions"
          valid_values:
            - "1"
            - "2"
  - name: contract_name
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Contract Name must match"
          valid_values:
            - bank_account_information
  - name: data_owner_team
    data_type: string
    checks:
      - missing:
      - invalid:
          name: "Owner Team must be valid"
          valid_values:
            - Bank Data Team
  - name: account_balance
    data_type: float
    checks:
      - invalid:
          name: "Reasonable account balance range"
          valid_min: -1000000
          valid_max: 1000000
  - name: account_holder_name
    data_type: string
    checks:
      - invalid:
          name: "Account Holder Name guardrail"
          valid_min_length: 1
          valid_max_length: 128

How to Enforce Data Contracts with Soda

Embed data quality through data contracts at any point in your pipeline.

Embed data quality through data contracts at any point in your pipeline.

# pip install soda-{data source} for other data sources

# pip install soda-{data source} for other data sources

pip install soda-postgres

pip install soda-postgres

# verify the contract locally against a data source

# verify the contract locally against a data source

soda contract verify -c contract.yml -ds ds_config.yml

soda contract verify -c contract.yml -ds ds_config.yml

# publish and schedule the contract with Soda Cloud

# publish and schedule the contract with Soda Cloud

soda contract publish -c contract.yml -sc sc_config.yml

soda contract publish -c contract.yml -sc sc_config.yml

Check out the CLI documentation to learn more.

Check out the CLI documentation to learn more.

How to Automatically Create Data Contracts.
In one Click.

Automatically write and publish data contracts using Soda's AI-powered data contract copilot.

Qualité des données IA basée sur la recherche

Nos recherches ont été publiées dans des revues et conférences de renom, telles que NeurIPs, JAIR et ACML. Les mêmes lieux qui ont fait progresser les fondations de GPT et de l'IA moderne.

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

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