Starter contract

banking_transaction

13 rules · plain YAML · starts in observation mode

OpenDQV Cloud starter template (v0.1) — your tenant inherits this baseline. First customer edit creates v1.0 in your audit trail; pin by yaml_hash for replay. Banking transaction record validation

These are starting points you own. Every rule below ships in the trial, starts in observation mode, and is yours to read, edit, or delete from day one. Rules that reference a lookup list (lookup_file) validate against reference data you control in your tenant.
Rules as at 29 August 2026 — starting points you own, not a maintained regulatory feed. We correct errors in these samples; tracking regulatory change in your active contracts is yours.
RuleFieldSeverityWhat it enforces (the message your team sees)
transaction_id_requiredtransaction_iderrortransaction_id is required
account_number_requiredaccount_numbererroraccount_number is required (send as a JSON string to preserve leading zeros)
account_number_min_lengthaccount_numbererroraccount_number must be at least 6 characters
sort_code_formatsort_codewarningsort_code must be in NN-NN-NN format (e.g. 20-00-00) — required for Faster Payments (PSR) and BACS submissions
bic_formatbicwarningbic must be a valid ISO 9362 BIC/SWIFT code (e.g. BARCGB22) — required for SEPA credit transfers and SWIFT cross-border payments
transaction_date_formattransaction_dateerrortransaction_date must be a valid date (YYYY-MM-DD)
amount_minamounterroramount must be > 0
amount_large_transaction_warningamountwarningamount exceeds £85,000 FSCS deposit protection limit — enhanced due diligence may be required under Money Laundering Regulations 2017 (MLR17)
currency_formatcurrencyerrorcurrency must be a 3-letter ISO 4217 code (e.g. GBP, USD, EUR)
transaction_type_validtransaction_typeerrortransaction_type must be one of: debit, credit, transfer, payment, refund, fee, chargeback, reversal — chargeback/reversal trigger Consumer Duty and Payment Services Regulations 2017 obligations
channel_validchannelerrorchannel must be one of: online, mobile, branch, atm, pos, api, open_banking — open_banking is PSD2 Article 66/67 regulated (AISP/PISP access)
reference_max_lengthreferenceerrorreference must not exceed 18 characters — Faster Payments Service limit; longer references are silently truncated by receiving banks causing reconciliation failures
merchant_id_requiredmerchant_idwarningmerchant_id is required when channel is 'pos' (Point of Sale card-present transactions)

Run your own data against this contract in the free trial — drop a CSV in the dashboard, no code, no credit card. Start free trial →