<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: John Hall</title>
    <description>The latest articles on DEV Community by John Hall (@john_hall).</description>
    <link>https://dev.to/john_hall</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1549268%2F4821e545-14f1-4d22-9337-5cba5b4141ae.jpg</url>
      <title>DEV Community: John Hall</title>
      <link>https://dev.to/john_hall</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/john_hall"/>
    <language>en</language>
    <item>
      <title>Establishment Code Validation: Why Exact Matching Decides Border Clearance</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Tue, 11 Aug 2026 07:29:52 +0000</pubDate>
      <link>https://dev.to/john_hall/establishment-code-validation-why-exact-matching-decides-border-clearance-5423</link>
      <guid>https://dev.to/john_hall/establishment-code-validation-why-exact-matching-decides-border-clearance-5423</guid>
      <description>&lt;p&gt;Establishment code validation is a string matching problem with commercial consequences. At an EU border control post, officials match the code on your paperwork against the TRACES NT establishment search. The comparison is character for character. There is no fuzzy match, no nearest neighbour, and no allowance for intent.&lt;/p&gt;

&lt;h2&gt;
  
  
  The validation surface is bigger than one field
&lt;/h2&gt;

&lt;p&gt;A valid code is not simply a well formed string. It must exist, it must be currently listed, and it must be listed for the activity and country in question. A supplier approved for meat can fail when shipping dairy, so a code that passes a format check can still fail at the border. Treat this as three assertions, not one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where bad data enters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Manual re-keying of codes from purchase orders&lt;/li&gt;
&lt;li&gt;Codes recycled from previous orders that have since been delisted&lt;/li&gt;
&lt;li&gt;Merged spreadsheet data where one bad row propagates into many documents&lt;/li&gt;
&lt;li&gt;Copy and paste between systems with different field lengths
Each of these stays invisible until an official runs &lt;a href="https://www.icustoms.ai/blogs/shipment-held-eu-border-establishment-code/" rel="noopener noreferrer"&gt;establishment code validation against TRACES&lt;/a&gt; at the post.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A sane validation order
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Format check the code locally. Cheap, fast, catches transpositions.&lt;/li&gt;
&lt;li&gt;Existence check against the official list.&lt;/li&gt;
&lt;li&gt;Status check. Is it currently listed, or suspended or delisted?&lt;/li&gt;
&lt;li&gt;Scope check. Does the listing cover this activity and this country?&lt;/li&gt;
&lt;li&gt;Cross document check. Does the same code appear identically on the certificate, invoice and CHED?
Only step one can be done offline. The rest need current reference data, because delisting can happen mid contract without notice to the importer.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can a wrong code be corrected at the border?&lt;/strong&gt; &lt;br&gt;
A clerical error can sometimes be corrected if the facility genuinely holds approval. An approval gap cannot be fixed with paperwork.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt; to see establishment code validation running against the official TRACES EU database at 99% accuracy.&lt;/p&gt;

</description>
      <category>datavalidation</category>
      <category>ai</category>
      <category>logistics</category>
      <category>api</category>
    </item>
    <item>
      <title>Integrating EUDR With the Customs Stack You Already Run</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Mon, 10 Aug 2026 08:48:56 +0000</pubDate>
      <link>https://dev.to/john_hall/integrating-eudr-with-the-customs-stack-you-already-run-5cdp</link>
      <guid>https://dev.to/john_hall/integrating-eudr-with-the-customs-stack-you-already-run-5cdp</guid>
      <description>&lt;p&gt;The EUDR Information System went live on 4 December 2024, with registration open since November 2024, and it sits in the same EU ecosystem as TRACES NT. Integration work is less about connecting to a new portal and more about keeping three data sets in agreement: product classification, due diligence records and declaration data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Map the boundaries between systems
&lt;/h2&gt;

&lt;p&gt;Classic TRACES handles sanitary and phytosanitary control under Regulation (EU) 2017/625, using health certificates, CHED and establishment codes. EUDR handles deforestation-free proof under Regulation (EU) 2023/1115, using the DDS and geolocation data. Model them as separate obligations against the same consignment, so a single shipment can carry two independent statuses.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep one source of truth for product scope
&lt;/h2&gt;

&lt;p&gt;Both workflows depend on knowing exactly what the product is. Classification drives EUDR scope through Annex I, and it drives declaration data everywhere else. If classification lives in two places, the systems will disagree at the worst moment. iCustoms supports HS code confirmation across 32 or more countries, document data extraction at 99% accuracy, declarations across the UK, Ireland and 22 EU nations, and bulk establishment code validation through iTraces, and the wider architecture is described in this &lt;a href="https://www.icustoms.ai/blogs/eudr-traces-compliance-guide/" rel="noopener noreferrer"&gt;EUDR Information System guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Then wire the reference through
&lt;/h2&gt;

&lt;p&gt;The last integration step is small and easy to forget: carry the DDS reference number into the declaration payload and validate it before submission.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;p&gt;Is EUDR filed inside TRACES NT? No. It is a separate workflow in the same EU ecosystem.&lt;/p&gt;

&lt;p&gt;What is iTraces for? Validating establishment codes in bulk against the EU database, which supports the SPS side rather than EUDR.&lt;/p&gt;

&lt;p&gt;Does iCustoms submit the DDS? No. That obligation stays with the business.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>eudr</category>
      <category>integrating</category>
      <category>customs</category>
    </item>
    <item>
      <title>Connecting TRACES Validation to the Rest of Your Customs Data Chain</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Fri, 07 Aug 2026 10:41:43 +0000</pubDate>
      <link>https://dev.to/john_hall/connecting-traces-validation-to-the-rest-of-your-customs-data-chain-76e</link>
      <guid>https://dev.to/john_hall/connecting-traces-validation-to-the-rest-of-your-customs-data-chain-76e</guid>
      <description>&lt;p&gt;Establishment code validation is rarely useful in isolation. It becomes valuable when it sits inside the chain that already moves customs data: documents in, structured data out, classification confirmed, compliance checked.&lt;/p&gt;

&lt;h2&gt;
  
  
  The three connected stages
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Extraction.&lt;/strong&gt; Intelligent Document Processing reads trade documents and produces structured data, including establishment codes that arrive as text on invoices and certificates rather than as clean fields.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validation.&lt;/strong&gt; Those establishment codes are checked against the official TRACES EU database, matching approval number, country and activity category.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Classification.&lt;/strong&gt; Product classification confirms HS codes across more than 32 countries, so the same record supports the declaration as well as the food safety check.&lt;/p&gt;

&lt;p&gt;Each stage consumes the previous stage's output. Breaking the chain means re-keying, and re-keying is where the typos and stray spaces enter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Upload or API
&lt;/h2&gt;

&lt;p&gt;Direct file upload suits one-off checks: export to CSV or Excel, map to the template, run. API connections suit catalogues that change frequently, feeding data straight from your systems and removing the file step entirely. Continuous validation only becomes practical at this point, which is the argument the &lt;a href="https://www.icustoms.ai/blogs/how-to-validate-eu-traces-establishment-codes/" rel="noopener noreferrer"&gt;checking TRACES establishment codes in bulk&lt;/a&gt; guidance makes for connected systems over manual exports.&lt;/p&gt;

&lt;h2&gt;
  
  
  Return path matters as much as the request
&lt;/h2&gt;

&lt;p&gt;Results should flow back the same way they arrived. Exporting to a spreadsheet somebody then has to interpret reintroduces the manual step you removed. Feed outcomes back into the product or supplier record so status is visible where decisions are made, not in a download folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep the history at the integration layer
&lt;/h2&gt;

&lt;p&gt;Every validation leaves a record. Storing that history alongside the shipment rather than inside a single tool is what makes the audit trail usable later.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>integration</category>
      <category>api</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Compliance Without Logs: The Establishment Code Audit Problem</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Wed, 05 Aug 2026 08:47:35 +0000</pubDate>
      <link>https://dev.to/john_hall/compliance-without-logs-the-establishment-code-audit-problem-12d</link>
      <guid>https://dev.to/john_hall/compliance-without-logs-the-establishment-code-audit-problem-12d</guid>
      <description>&lt;h2&gt;
  
  
  The question you cannot answer
&lt;/h2&gt;

&lt;p&gt;A reviewer asks: on the shipment date of consignment 4417, was establishment ES 12 34567 EC listed, and for which activity?&lt;/p&gt;

&lt;p&gt;If your check happened in a browser tab, you cannot answer. You can check now, but now is not the date in question, and listings change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is an observability problem
&lt;/h2&gt;

&lt;p&gt;Compliance checks are events. Events without logs are invisible. A team that checks every code diligently and a team that checks none look identical in the record unless the outcome is persisted.&lt;/p&gt;

&lt;p&gt;Establishments are suspended after audits and delisted after disease outbreaks, and traders are not notified. So even a correct historical check becomes unverifiable once the list moves on. Background on&lt;a href="https://www.icustoms.ai/blogs/what-is-traces-establishment-code/" rel="noopener noreferrer"&gt; why establishment codes matter&lt;/a&gt; explains how quietly those status changes land.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to persist per check
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Code, exporting country, activity category&lt;/li&gt;
&lt;li&gt;Listed status returned&lt;/li&gt;
&lt;li&gt;Supplier name and address as matched&lt;/li&gt;
&lt;li&gt;Timestamp&lt;/li&gt;
&lt;li&gt;Consignment or declaration reference&lt;/li&gt;
&lt;li&gt;Source of truth queried&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why dashboards beat spreadsheets here
&lt;/h2&gt;

&lt;p&gt;A live status view across products, suppliers and codes surfaces problems before departure. A spreadsheet records the past and warns nobody. iTraces pairs a live dashboard with complete audit trails, so a regulatory review becomes a query rather than a reconstruction project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The wider stack
&lt;/h2&gt;

&lt;p&gt;Document processing extracts and verifies trade documents, iTraces validates the establishment codes inside them, and iClassification confirms HS codes across 32 or more countries. One pipeline, several checks, one log.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>audittrail</category>
      <category>logging</category>
      <category>api</category>
      <category>reporting</category>
    </item>
    <item>
      <title>Automating TRACES Compliance Checks: Bulk Upload, API and Audit Trails</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Fri, 31 Jul 2026 11:57:51 +0000</pubDate>
      <link>https://dev.to/john_hall/automating-traces-compliance-checks-bulk-upload-api-and-audit-trails-14gh</link>
      <guid>https://dev.to/john_hall/automating-traces-compliance-checks-bulk-upload-api-and-audit-trails-14gh</guid>
      <description>&lt;p&gt;Compliance work does not need to be manual, and TRACES establishment code checking is a good example of a process that scales badly by hand but automates cleanly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why manual checking fails at volume
&lt;/h2&gt;

&lt;p&gt;The public TRACES portal supports one establishment code lookup at a time. For a small supplier list, that is a minor inconvenience. For a catalogue running into hundreds of products across dozens of non-EU facilities, it becomes a full-time job, and errors creep in: mistyped codes, outdated lists, missed delistings. Our &lt;a href="https://www.icustoms.ai/blogs/what-is-traces-eu/" rel="noopener noreferrer"&gt;EU TRACES compliance guide&lt;/a&gt; explains why these codes matter and what happens when one fails.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three integration patterns worth building
&lt;/h2&gt;

&lt;p&gt;An automated approach typically needs three entry points. Bulk upload handles full catalogue checks from a CSV or Excel export in one pass. Single-code search covers ad hoc, on-the-spot checks during a live shipment. API integration embeds validation directly inside an ERP, TMS or supply chain platform, so checks run automatically rather than as a separate manual step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why audit trails matter as much as speed
&lt;/h2&gt;

&lt;p&gt;Speed alone does not satisfy a regulatory review. A full audit trail, recording every validation event against every code, turns a fast check into evidence a compliance team can hand over when asked.&lt;/p&gt;

&lt;h2&gt;
  
  
  The result
&lt;/h2&gt;

&lt;p&gt;Tools built this way, such as iTraces, report around 80% less manual effort and validation running up to 50 times faster than manual portal searches.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>api</category>
    </item>
    <item>
      <title>The Root Cause Behind Repeat Customs Errors Is Process, Not Talent</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Thu, 30 Jul 2026 07:03:51 +0000</pubDate>
      <link>https://dev.to/john_hall/the-root-cause-behind-repeat-customs-errors-is-process-not-talent-32bo</link>
      <guid>https://dev.to/john_hall/the-root-cause-behind-repeat-customs-errors-is-process-not-talent-32bo</guid>
      <description>&lt;h2&gt;
  
  
  The pattern behind recurring mistakes
&lt;/h2&gt;

&lt;p&gt;Look closely at customs errors that keep coming back and you find the same root cause: weak internal controls and no technical back-up. When filing relies on memory and manual copying, even skilled agents let slips through, and then those slips repeat on the next similar shipment.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a control layer catches
&lt;/h2&gt;

&lt;p&gt;Good controls do what a busy person cannot do consistently. They verify the commodity code, flag mismatches between documents and the entry, confirm the procedure code and party details, and keep the record-keeping HMRC expects, especially under the Simplified Declaration Procedure. This guide to the &lt;a href="https://www.icustoms.ai/blogs/uk-customs-declaration-errors-how-to-avoid/" rel="noopener noreferrer"&gt;common UK customs declaration errors&lt;/a&gt; and how to avoid them shows how often the failure is process rather than knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making it repeatable
&lt;/h2&gt;

&lt;p&gt;Add a final review to every filing and let validation software carry it, watching smaller risks too, like wrong duty accounts, missed supplementary deadlines, and expired authorisations.&lt;/p&gt;

&lt;p&gt;Want to see controls turn filing into a low-risk routine? &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt; to see the validation and audit trail.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>customserrors</category>
      <category>hmrc</category>
      <category>cds</category>
    </item>
    <item>
      <title>A Sequenced Rollout Plan for SDP Authorisation</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Tue, 28 Jul 2026 07:21:17 +0000</pubDate>
      <link>https://dev.to/john_hall/a-sequenced-rollout-plan-for-sdp-authorisation-jpj</link>
      <guid>https://dev.to/john_hall/a-sequenced-rollout-plan-for-sdp-authorisation-jpj</guid>
      <description>&lt;p&gt;Rolling out SDP is a sequenced job. Each step depends on the one before, so order matters.&lt;/p&gt;

&lt;p&gt;Check eligibility against HMRC's conditions and fix any compliance gaps first.&lt;br&gt;
Set up a Duty Deferment Account if you do not already hold one.&lt;br&gt;
Apply for the SDP authorisation through HMRC, with supporting details about your records and systems.&lt;br&gt;
Arrange a Customs Comprehensive Guarantee, or a waiver, where required.&lt;br&gt;
Once approved, configure your CDS software to file simplified entries.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.icustoms.ai/blogs/cds-simplified-declaration-uk/" rel="noopener noreferrer"&gt;step-by-step SDP authorisation&lt;/a&gt; route covers the evidence HMRC expects at each stage.&lt;/p&gt;

&lt;p&gt;Approval is not instant. Plan for several weeks, and use the wait to confirm your Duty Deferment Account has enough headroom, because HMRC checks both records and deferment capacity.&lt;/p&gt;

&lt;p&gt;The teams that ship this cleanly treat step one as a hard gate. No compliance gaps get carried forward into the application. Everything after runs faster when the foundation is clean.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cds</category>
      <category>sdp</category>
      <category>hmrc</category>
    </item>
    <item>
      <title>Building a Pre-Lodgement Checklist for CDS Filing</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Fri, 24 Jul 2026 07:14:33 +0000</pubDate>
      <link>https://dev.to/john_hall/building-a-pre-lodgement-checklist-for-cds-filing-4f3n</link>
      <guid>https://dev.to/john_hall/building-a-pre-lodgement-checklist-for-cds-filing-4f3n</guid>
      <description>&lt;p&gt;Most CDS pre-lodgement errors are avoidable with a short, consistent checklist. The mistakes that cause hold-ups at the frontier tend to repeat across different agents and shipments, which makes them easy to guard against once identified.&lt;/p&gt;

&lt;h2&gt;
  
  
  What tends to go wrong
&lt;/h2&gt;

&lt;p&gt;Filing a declaration as arrived when the port needs a pre-lodged entry, forgetting to build the MRN into a GMR before travel, a wrong expected arrival port or date, a missing arrival notification, and mismatched data between the declaration and the movement reference. These five account for most of the hold-ups agents actually see.&lt;/p&gt;

&lt;h2&gt;
  
  
  Turning that list into a checklist
&lt;/h2&gt;

&lt;p&gt;Confirm which model the port uses, pre-lodged or arrived, before filing anything. Double-check the expected port and date against the actual movement. Build the MRN into the GMR before the vehicle travels, not after. Submit the arrival notification as its own step once the goods reach the border. Cross-check the declaration data against the movement reference before closing the job. This &lt;a href="https://www.icustoms.ai/blogs/cds-pre-lodged-declaration-uk/" rel="noopener noreferrer"&gt;guide to CDS pre-lodged&lt;/a&gt; entry requirements covers the full data and process detail behind each step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a checklist beats memory
&lt;/h2&gt;

&lt;p&gt;Under time pressure, these are exactly the details that get skipped. A written checklist, run the same way every time, catches what a rushed manual process tends to miss.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>prelodgement</category>
      <category>cdsfiling</category>
      <category>checklist</category>
    </item>
    <item>
      <title>What Happens After You Submit a UK Customs Declaration?</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Wed, 22 Jul 2026 07:21:47 +0000</pubDate>
      <link>https://dev.to/john_hall/what-happens-after-you-submit-a-uk-customs-declaration-imf</link>
      <guid>https://dev.to/john_hall/what-happens-after-you-submit-a-uk-customs-declaration-imf</guid>
      <description>&lt;p&gt;Filing is not the final step. Once HMRC accepts a declaration, a specific reference number confirms it, and that number matters for everything that follows.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Movement Reference Number
&lt;/h2&gt;

&lt;p&gt;Once HMRC accepts your entry, it issues a Movement Reference Number, or MRN. This is the proof that the declaration has gone through and the reference used if anything about the shipment needs to be checked or queried later. Before this stage, make sure your data is validated and any representation type has already been agreed. This &lt;a href="https://www.icustoms.ai/blogs/how-to-submit-a-customs-declaration-uk/" rel="noopener noreferrer"&gt;customs declaration UK guide&lt;/a&gt; covers the earlier steps that lead up to acceptance.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do with the MRN
&lt;/h2&gt;

&lt;p&gt;Keep the MRN on file alongside the shipment paperwork. For repeat shipments with the same client, having previous declarations and their MRNs on hand also speeds up future filings.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is the MRN the same for every leg of a shipment?&lt;/strong&gt; No, each declaration generates its own MRN.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if I lose the MRN after acceptance?&lt;/strong&gt; It should still be retrievable through your CDS-connected software's record of past submissions.&lt;/p&gt;

&lt;p&gt;Acceptance is the milestone, but keeping good records afterward is what makes the next filing faster. &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Who Actually Needs to Use UK CDS?</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Mon, 20 Jul 2026 08:27:06 +0000</pubDate>
      <link>https://dev.to/john_hall/who-actually-needs-to-use-uk-cds-e0</link>
      <guid>https://dev.to/john_hall/who-actually-needs-to-use-uk-cds-e0</guid>
      <description>&lt;p&gt;CDS is not a niche tool. If your business moves goods across the UK border, CDS applies to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who files through CDS
&lt;/h2&gt;

&lt;p&gt;Importers, exporters, freight forwarders, and customs agents all use CDS, because it is now the only platform for UK import and export declarations. There is no CHIEF fallback and no alternative route. The background on how this became the case is in this &lt;a href="https://www.icustoms.ai/blogs/what-is-uk-cds-and-what-replaced-chief/" rel="noopener noreferrer"&gt;UK CDS platform guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it applies universally
&lt;/h2&gt;

&lt;p&gt;CHIEF closed for imports in September 2022 and for exports in June 2024. From those points on, every declaration, regardless of business size or trade volume, has gone through CDS.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means in practice
&lt;/h2&gt;

&lt;p&gt;A small business filing occasional declarations and a large freight forwarding operation filing thousands work within the same structured data model, the same validation process, and the same platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;p&gt;Do small traders need to use CDS? Yes, it applies to any UK import or export declaration.&lt;/p&gt;

&lt;p&gt;Is there an alternative to CDS for UK customs? No, it is the only live declaration platform.&lt;/p&gt;

&lt;p&gt;See how the platform serves different trade volumes. &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>ukcds</category>
      <category>ukborder</category>
      <category>chief</category>
    </item>
    <item>
      <title>The Software Layer: What Comes After CDS Access</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Thu, 16 Jul 2026 06:33:47 +0000</pubDate>
      <link>https://dev.to/john_hall/the-software-layer-what-comes-after-cds-access-3fog</link>
      <guid>https://dev.to/john_hall/the-software-layer-what-comes-after-cds-access-3fog</guid>
      <description>&lt;h2&gt;
  
  
  Access Is Not the Same as Usability
&lt;/h2&gt;

&lt;p&gt;New agents often assume that once CDS registration completes, they will file declarations directly in some HMRC screen. In practice, CDS is the endpoint. The day-to-day interface is HMRC-recognised filing software that connects to the service, builds declarations, validates them, and submits them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting to the Service
&lt;/h2&gt;

&lt;p&gt;The connection step relies on the subscription confirmation HMRC sends when your CDS access activates, usually within about 2 hours, occasionally up to 5 working days when extra checks run. Keep that confirmation, because your software setup will ask for it. Everything leading up to that point, from Government Gateway to EORI, is covered in this walkthrough of &lt;a href="https://www.icustoms.ai/blogs/how-to-register-for-cds-uk-guide-for-freight-agents/" rel="noopener noreferrer"&gt;CDS registration in the UK&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Validation Before Submission Matters
&lt;/h2&gt;

&lt;p&gt;Errors caught in software cost seconds. Errors caught at the border cost days. Good filing tools check declaration data against source documents before anything reaches HMRC, which is where accuracy rates are won and lost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Habits of Smooth Operators
&lt;/h2&gt;

&lt;p&gt;File early rather than on arrival day&lt;br&gt;
Reconcile entries against source documents every time&lt;br&gt;
Learn the common filing errors before making them&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing the Layer Wisely
&lt;/h2&gt;

&lt;p&gt;The platform is fixed. The software layer is your choice, and it is the choice that shapes daily work. iCDS validates and submits a UK import declaration in around three minutes, at 99% accuracy. &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cds</category>
      <category>ukcustoms</category>
    </item>
    <item>
      <title>Evaluating CDS Filing Software: A Buyer's Shortlist</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Tue, 14 Jul 2026 08:45:22 +0000</pubDate>
      <link>https://dev.to/john_hall/evaluating-cds-filing-software-a-buyers-shortlist-13oe</link>
      <guid>https://dev.to/john_hall/evaluating-cds-filing-software-a-buyers-shortlist-13oe</guid>
      <description>&lt;h2&gt;
  
  
  The Interface Almost Nobody Uses
&lt;/h2&gt;

&lt;p&gt;HMRC provides its own interface for the Customs Declaration Service, but most freight forwarders file through commercial software instead. The volume and detail of UK customs entries make tooling the deciding factor in how fast a clearance desk runs, so the evaluation deserves the same rigour as any platform choice.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Evaluation Criteria
&lt;/h2&gt;

&lt;p&gt;Four capabilities separate the field. HMRC recognition is the baseline. Built-in validation that catches errors before submission is where the real value sits, because the common failures, wrong commodity codes, mismatched procedure codes, values that disagree with the invoice, are all detectable at input. Support for commodity code classification removes manual lookup work. Bulk filing matters once volumes grow. How software fits into the end-to-end declaration workflow is set out in this &lt;a href="https://www.icustoms.ai/blogs/freight-forwarders-guide-to-uk-customs/" rel="noopener noreferrer"&gt;customs guidance for freight forwarders&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks That Matter
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Rejection rate before and after validation&lt;/li&gt;
&lt;li&gt;Time per declaration, end to end&lt;/li&gt;
&lt;li&gt;Classification lookups handled in-tool&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Reference Point
&lt;/h2&gt;

&lt;p&gt;iCDS is an HMRC-recognised platform built for this work. It validates entries, helps assign commodity codes, and lets agents submit a UK import declaration in around three minutes. Test any tool against your own entries rather than a vendor's slides.&lt;br&gt;
Run the benchmark yourself. &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>hmrc</category>
      <category>classification</category>
      <category>customssoftware</category>
    </item>
  </channel>
</rss>
