Starter contract

logistics_shipment

20 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. Logistics shipment record validation aligned with ICC Incoterms 2020, UK HMRC customs declaration requirements (post-Brexit CDS — Customs Declaration Service), and HS (Harmonised System) tariff code standards (WCO, 6-digit minimum for customs). Enforces ISO 3166-1 origin/destination country codes, Incoterms 2020 classification (11 terms replacing DAT with DPU), HS tariff code format, shipment mode classification, ISO 4217 currency, and delivery date monotonicity (estimated delivery must be on or after dispatch). Prevents customs declaration rejections, incorrect duty calculation, and carrier SLA misreporting in WMS and TMS pipelines.

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)
shipment_id_requiredshipment_iderrorshipment_id is required
origin_country_requiredorigin_countryerrororigin_country is required
origin_country_min_lengthorigin_countryerrororigin_country must be at least 2 characters
origin_country_iso_formatorigin_countryerrororigin_country must be a valid ISO 3166-1 alpha-2 code (e.g. GB, US, DE)
destination_country_requireddestination_countryerrordestination_country is required
destination_country_min_lengthdestination_countryerrordestination_country must be at least 2 characters
destination_country_iso_formatdestination_countryerrordestination_country must be a valid ISO 3166-1 alpha-2 code (e.g. GB, US, DE)
dispatch_date_formatdispatch_dateerrordispatch_date must be a valid date (YYYY-MM-DD)
estimated_delivery_formatestimated_deliveryerrorestimated_delivery must be a valid date (YYYY-MM-DD)
estimated_delivery_after_dispatchestimated_deliveryerrorestimated_delivery must be on or after dispatch_date — delivery before dispatch corrupts carrier SLA and OTIF reporting
weight_kg_minweight_kgerrorweight_kg must be >= 0
weight_kg_anomalyweight_kgwarningweight_kg exceeds 50,000 kg — verify this is not a unit error (grams stored as kg). Exceeds legal road payload limits in most jurisdictions.
incoterms_valuesincotermswarningincoterms must be a valid ICC Incoterms 2020 term: EXW, FCA, CPT, CIP, DAP, DPU, DDP, FAS, FOB, CFR, CIF (note: DAT was replaced by DPU in Incoterms 2020)
hs_code_formaths_codewarninghs_code must be 6-10 numeric digits (WCO HS standard: 6 digits; UK CDS: 10 digits). e.g. 847130 or 8471300000 — incorrect HS codes cause customs rejection and incorrect duty calculation
shipment_mode_valuesshipment_modewarningshipment_mode must be one of: air, sea, road, rail, courier, multimodal, post (note: FOB/CFR/CIF Incoterms are only valid for sea and inland waterway)
currency_formatcurrencywarningcurrency must be a valid ISO 4217 three-letter code (e.g. GBP, USD, EUR) — required for customs valuation declarations
carrier_requiredcarriererrorcarrier is required
tracking_number_requiredtracking_numbererrortracking_number is required
status_requiredstatuserrorstatus is required
shipment_status_validstatuserrorstatus must be one of: pending, collected, dispatched, in_transit, customs_hold, out_for_delivery, delivery_attempted, delivered, returned, lost, damaged, cancelled

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 →