<?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>Integrating TSS with Your ERP, WMS or Customs Platform</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Tue, 01 Sep 2026 07:21:39 +0000</pubDate>
      <link>https://dev.to/john_hall/integrating-tss-with-your-erp-wms-or-customs-platform-4556</link>
      <guid>https://dev.to/john_hall/integrating-tss-with-your-erp-wms-or-customs-platform-4556</guid>
      <description>&lt;h2&gt;
  
  
  Pick an integration surface
&lt;/h2&gt;

&lt;p&gt;Do not scatter TSS calls across your codebase. Wrap them in a single service with a clear internal contract.&lt;/p&gt;

&lt;h3&gt;
  
  
  Map fields once
&lt;/h3&gt;

&lt;p&gt;Field mapping between your source systems and the TSS specification is the highest-leverage work in the whole project. Do it once, do it properly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design for retries and idempotency
&lt;/h3&gt;

&lt;p&gt;Network calls fail. Design your submissions so a safe retry does not create a duplicate declaration. The &lt;a href="https://www.icustoms.ai/blogs/tss-api-integration-guide/" rel="noopener noreferrer"&gt;TSS API onboarding guide&lt;/a&gt; covers the operational side of this well.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep the test environment permanently wired up
&lt;/h3&gt;

&lt;p&gt;You will need it for every release, not just the first one.&lt;/p&gt;

&lt;p&gt;Want to skip half of this build? &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt; of iCustoms and see a pre-built TSS integration.&lt;/p&gt;

</description>
      <category>tss</category>
      <category>erp</category>
      <category>wms</category>
      <category>customs</category>
    </item>
    <item>
      <title>Integrating TSS Declaration Data With ERP and Freight Systems</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Mon, 31 Aug 2026 07:27:05 +0000</pubDate>
      <link>https://dev.to/john_hall/integrating-tss-declaration-data-with-erp-and-freight-systems-2fm5</link>
      <guid>https://dev.to/john_hall/integrating-tss-declaration-data-with-erp-and-freight-systems-2fm5</guid>
      <description>&lt;h2&gt;
  
  
  Declarations are only as accurate as your source systems
&lt;/h2&gt;

&lt;p&gt;TSS declarations are only as accurate as the data feeding them. That data usually sits in your ERP, TMS and WMS — long before the customs form is opened.&lt;/p&gt;

&lt;h2&gt;
  
  
  The data map
&lt;/h2&gt;

&lt;p&gt;ERP owns commodity codes, product master and origin. TMS owns carrier, port, mode and movement date. WMS owns consignment weight, packaging and lot detail. Customs tooling combines all three into ESD, SFD, supplementary, IMMI or Full Frontier records.&lt;/p&gt;

&lt;p&gt;The exact field expectations per declaration are covered in this &lt;a href="https://www.icustoms.ai/blogs/tss-declaration-types/" rel="noopener noreferrer"&gt;Northern Ireland TSS declarations explainer&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integration principles
&lt;/h2&gt;

&lt;p&gt;Pull commodity codes from ERP once, not per declaration. Push port and mode from TMS into route selection so inventory-linked ports trigger Full Frontier automatically. Push UKIMS status onto every trader record so IMMI eligibility is calculable at booking. Log every submission event back into ERP for month-end reporting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Treat the deadline as an SLA
&lt;/h2&gt;

&lt;p&gt;Treat the 10th-of-month supplementary deadline as an SLA between systems, not a manual reminder.&lt;/p&gt;

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

&lt;p&gt;Well-integrated declaration data means the customs system stops being where errors are discovered and becomes where correct data is submitted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want to see the integration prebuilt?&lt;/strong&gt; &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt; of iCustoms.&lt;/p&gt;

</description>
      <category>tss</category>
      <category>declaration</category>
      <category>integrating</category>
      <category>erp</category>
    </item>
    <item>
      <title>Integrating ERP, WMS and TMS with TSS</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Fri, 28 Aug 2026 07:07:54 +0000</pubDate>
      <link>https://dev.to/john_hall/integrating-erp-wms-and-tms-with-tss-4bp7</link>
      <guid>https://dev.to/john_hall/integrating-erp-wms-and-tms-with-tss-4bp7</guid>
      <description>&lt;p&gt;Most TSS pain isn't in TSS. It's in the gap between commercial systems and the customs workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The data already exists
&lt;/h2&gt;

&lt;p&gt;Goods descriptions live in the ERP. Movements sit in the TMS. Weights and locations live in the WMS. TSS wants a subset of all three.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design the integration by direction
&lt;/h2&gt;

&lt;p&gt;Push goods and party data from ERP into TSS. Push vehicle and container details from TMS. Push weights and packing details from WMS. Never let staff copy across.&lt;/p&gt;

&lt;p&gt;The system view is set out in this &lt;a href="https://www.icustoms.ai/blogs/tss-gb-to-ni-guide/" rel="noopener noreferrer"&gt;TSS integration guide for GB-NI operations&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handle the movement reference bottleneck
&lt;/h2&gt;

&lt;p&gt;The reference is created after the customs entry lands. Model it as a callback, not a synchronous step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep records where auditors look
&lt;/h2&gt;

&lt;p&gt;UKIMS requires five years of retention accessible in the UK. Store the audit-ready record set in a UK-hosted system by default.&lt;/p&gt;

&lt;p&gt;To see how iCustoms plugs into your existing ERP, WMS and TMS in production, &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>erp</category>
      <category>tss</category>
      <category>customs</category>
      <category>ai</category>
    </item>
    <item>
      <title>Integrating Your ERP with TSS, ICS2, GVMS and NCTS</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Thu, 27 Aug 2026 08:35:05 +0000</pubDate>
      <link>https://dev.to/john_hall/integrating-your-erp-with-tss-ics2-gvms-and-ncts-4goo</link>
      <guid>https://dev.to/john_hall/integrating-your-erp-with-tss-ics2-gvms-and-ncts-4goo</guid>
      <description>&lt;p&gt;Building an integration between an ERP and the HMRC customs stack is a system-of-systems problem. Here is a stable shape.&lt;/p&gt;

&lt;h2&gt;
  
  
  Map to a single canonical record
&lt;/h2&gt;

&lt;p&gt;Model the consignment once in your ERP. Every field that ends up in CDS, ICS2, GVMS or NCTS should trace to a canonical column with a documented format.&lt;/p&gt;

&lt;h2&gt;
  
  
  Route through TSS
&lt;/h2&gt;

&lt;p&gt;TSS is the intended input layer. Push canonical records through it rather than trying to file to each backend directly. That gives you one contract to test against, not four.&lt;/p&gt;

&lt;h2&gt;
  
  
  Version your commodity codes
&lt;/h2&gt;

&lt;p&gt;Commodity codes change. A versioned lookup table protects downstream systems from a code that was valid last quarter but not this one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reconcile after routing
&lt;/h2&gt;

&lt;p&gt;Once TSS has fanned out to CDS, ICS2, GVMS and NCTS, pull back the identifiers each system returned and store them against your canonical record. This is what makes audits fast. The &lt;a href="https://www.icustoms.ai/blogs/tss-ics2-gvms-ncts/" rel="noopener noreferrer"&gt;TSS and CDS integration guide&lt;/a&gt; covers the identifier map.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instrument the seams
&lt;/h2&gt;

&lt;p&gt;Log at each hop, not just at the boundary. When a check-in is rejected weeks later, the seam is where the answer lives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical takeaway
&lt;/h2&gt;

&lt;p&gt;Design for reconciliation, not just submission. That is the difference between an integration that scales and one that survives one audit.&lt;/p&gt;

&lt;p&gt;Ready to plug an ERP into all four HMRC systems the clean way? &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt; to see the iCustoms.ai integration path.&lt;/p&gt;

</description>
      <category>ics2</category>
      <category>tss</category>
      <category>ai</category>
      <category>integrating</category>
    </item>
    <item>
      <title>Integrating Customs Software with TSS and CDS</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Tue, 25 Aug 2026 07:02:17 +0000</pubDate>
      <link>https://dev.to/john_hall/integrating-customs-software-with-tss-and-cds-fko</link>
      <guid>https://dev.to/john_hall/integrating-customs-software-with-tss-and-cds-fko</guid>
      <description>&lt;p&gt;You can either treat TSS and CDS as two separate integrations, or as one pipeline with two exit points. The second approach ages better.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Understand the roles&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;CDS is HMRC's Customs Declaration Service. It processes UK import and export declarations. TSS is a free portal specifically for Northern Ireland movements that formats and submits data into CDS.&lt;/p&gt;

&lt;p&gt;If you build customs software, CDS is where you certify. TSS is where many Northern Ireland movements pass through on their way to CDS.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Data model first&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Design your internal declaration record to match CDS field structure. If your record is CDS-shaped, feeding it into TSS is straightforward, and feeding it into a direct CDS submission is a matter of connector configuration.&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://www.icustoms.ai/blogs/tss-vs-cds-northern-ireland/" rel="noopener noreferrer"&gt;TSS vs CDS explainer&lt;/a&gt; is a useful primer for engineers coming into the space for the first time.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Auth and identity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Plan for GB EORI, XI EORI, Government Gateway credentials, UTR and NI number handling. Different traders on the same platform will have different identifiers, and Northern Ireland movements often need both a GB and XI EORI.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Error surfacing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Rejections need to reach the operator with enough context to fix the source data — not just "TSS rejected" or "CDS rejected". Map error codes to human-readable prompts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Volume considerations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Above a certain declaration volume, portal-based TSS filing becomes a bottleneck. Route those flows through direct CDS instead.&lt;/p&gt;

&lt;p&gt;See a real integration between customs software, TSS and CDS. &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;Watch a demo&lt;/a&gt; with iCustoms.&lt;/p&gt;

</description>
      <category>tss</category>
      <category>cds</category>
      <category>software</category>
      <category>ai</category>
    </item>
    <item>
      <title>How TSS Connects to CDS, ICS2, GVMS and NCTS</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Mon, 24 Aug 2026 07:24:23 +0000</pubDate>
      <link>https://dev.to/john_hall/how-tss-connects-to-cds-ics2-gvms-and-ncts-3ma3</link>
      <guid>https://dev.to/john_hall/how-tss-connects-to-cds-ics2-gvms-and-ncts-3ma3</guid>
      <description>&lt;h2&gt;
  
  
  Four systems, one entry point
&lt;/h2&gt;

&lt;p&gt;TSS doesn't replace any of the UK's core customs systems, it sits in front of them. Each downstream system does one job:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CDS&lt;/strong&gt; (Customs Declaration Service): HMRC's system for customs declarations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ICS2&lt;/strong&gt; (Import Control System 2): handles safety &amp;amp; security data, replacing the older ICS, used for movements into Northern Ireland from 31 December 2025.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GVMS&lt;/strong&gt; (Goods Vehicle Movement Service): bundles declaration references into a single Goods Movement Reference for roll-on roll-off traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NCTS&lt;/strong&gt; (New Computerised Transit System): manages customs transit.
## Why this matters for integration planning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You give TSS the information once, and it feeds whichever of the four systems the movement requires. For a business building internal tooling around TSS, this means the integration point is TSS itself, not each downstream system individually.&lt;/p&gt;

&lt;h2&gt;
  
  
  The GMR dependency
&lt;/h2&gt;

&lt;p&gt;For roll-on roll-off traffic specifically, the carrier needs a Goods Movement Reference before the vehicle can travel. GVMS builds that reference from declaration data already submitted through TSS, which is why declarations need to be complete before the vehicle reaches the port, not after.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical integration takeaway
&lt;/h2&gt;

&lt;p&gt;If you're evaluating where to plug automation into a GB–NI customs process, TSS is the natural integration point: one submission surface, four downstream destinations, rather than four separate integrations to maintain.&lt;/p&gt;

&lt;p&gt;Read the full breakdown on the &lt;strong&gt;&lt;a href="https://www.icustoms.ai/blogs/what-is-trader-support-service-tss/" rel="noopener noreferrer"&gt;guide to using TSS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Four systems, one entry point
&lt;/h2&gt;

&lt;p&gt;TSS doesn't replace any of the UK's core customs systems, it sits in front of them. Each downstream system does one job:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CDS&lt;/strong&gt; (Customs Declaration Service): HMRC's system for customs declarations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ICS2&lt;/strong&gt; (Import Control System 2): handles safety &amp;amp; security data, replacing the older ICS, used for movements into Northern Ireland from 31 December 2025.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GVMS&lt;/strong&gt; (Goods Vehicle Movement Service): bundles declaration references into a single Goods Movement Reference for roll-on roll-off traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NCTS&lt;/strong&gt; (New Computerised Transit System): manages customs transit.
## Why this matters for integration planning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You give TSS the information once, and it feeds whichever of the four systems the movement requires. For a business building internal tooling around TSS, this means the integration point is TSS itself, not each downstream system individually.&lt;/p&gt;

&lt;p&gt;Read the full breakdown on the &lt;strong&gt;&lt;a href="https://www.icustoms.ai/blogs/what-is-trader-support-service-tss/" rel="noopener noreferrer"&gt;guide to using TSS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The GMR dependency
&lt;/h2&gt;

&lt;p&gt;For roll-on roll-off traffic specifically, the carrier needs a Goods Movement Reference before the vehicle can travel. GVMS builds that reference from declaration data already submitted through TSS, which is why declarations need to be complete before the vehicle reaches the port, not after.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical integration takeaway
&lt;/h2&gt;

&lt;p&gt;If you're evaluating where to plug automation into a GB–NI customs process, TSS is the natural integration point: one submission surface, four downstream destinations, rather than four separate integrations to maintain.&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>
    </item>
    <item>
      <title>Connecting SAP or Dynamics to a TRACES Establishment API</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Fri, 21 Aug 2026 07:28:52 +0000</pubDate>
      <link>https://dev.to/john_hall/connecting-sap-or-dynamics-to-a-traces-establishment-api-3in0</link>
      <guid>https://dev.to/john_hall/connecting-sap-or-dynamics-to-a-traces-establishment-api-3in0</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Why REST and JSON Matter Here&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Standard REST endpoints with JSON responses mean SAP, Microsoft Dynamics, Oracle, NetSuite and most TMS or middleware platforms can connect without custom adapters.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The Two Questions That Matter&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Technical connectivity is rarely the hard part. The real design questions are where the establishment code lives in your master data, and at which moments validation should gate the process. This &lt;a href="https://www.icustoms.ai/blogs/traces-api-integration/" rel="noopener noreferrer"&gt;TRACES compliance API&lt;/a&gt; connects the same way regardless of which ERP sits on the other end.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Middleware and TMS Considerations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If validation needs to gate a TMS booking rather than an ERP record, the integration point moves earlier in the process, at booking creation rather than supplier setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Documentation and Sandbox First&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Confirm the Developers Hub documentation and sandbox access before committing to a go-live date.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;One Integration, Multiple Checks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The same API access also covers document data extraction and HS code classification, so a single integration effort can support more than establishment validation alone.&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 the API connect to a sandbox ERP environment.&lt;/p&gt;

</description>
      <category>sap</category>
      <category>ai</category>
      <category>api</category>
      <category>erp</category>
    </item>
    <item>
      <title>TRACES Validation Integration for Customs Workflows</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Thu, 20 Aug 2026 07:56:02 +0000</pubDate>
      <link>https://dev.to/john_hall/traces-validation-integration-for-customs-workflows-1p2i</link>
      <guid>https://dev.to/john_hall/traces-validation-integration-for-customs-workflows-1p2i</guid>
      <description>&lt;p&gt;A TRACES validation integration should sit upstream of your declaration and document steps. Validate every establishment code as soon as the consignment data exists, then pass the result forward so declarations and documents are built on confirmed approvals. Doing it the other way round means preparing paperwork first and discovering a delisted code later, when the fix is expensive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Definition
&lt;/h3&gt;

&lt;p&gt;Integration here means one validation result, produced once, consumed by every downstream customs step.&lt;/p&gt;

&lt;h2&gt;
  
  
  The data flow
&lt;/h2&gt;

&lt;p&gt;Keep the contract between steps simple.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consignment data arrives with approval numbers, country and activity.&lt;/li&gt;
&lt;li&gt;Validation returns status, flags and a timestamp.&lt;/li&gt;
&lt;li&gt;Document processing reads the status before extraction is trusted.&lt;/li&gt;
&lt;li&gt;Declaration filing reads the same status as a precondition.
### Why one result, not three&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repeated manual checks by different teams produce different answers on different days. A single validated record removes that drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting the pieces
&lt;/h2&gt;

&lt;p&gt;Intelligent Document Processing can pull supplier and establishment details from documents, iClassification handles HS codes, and declarations run across the UK, Ireland and 22 EU nations. Validation is the gate that keeps all of it honest, because a perfect declaration against a suspended establishment still fails at official controls. Continuous feeds by API make that gate cheap, and the wider case for &lt;a href="https://www.icustoms.ai/blogs/manual-traces-lookup-vs-automated-validation/" rel="noopener noreferrer"&gt;TRACES validation integration&lt;/a&gt; is that it removes a manual handoff rather than adding a system.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to expose downstream
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pass, flag or unknown, as a single field.&lt;/li&gt;
&lt;li&gt;The flag reason, for triage.&lt;/li&gt;
&lt;li&gt;The check timestamp, for the audit trail.
That is enough for a declaration workflow to block, retry or continue without a human reading the portal.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Where should validation run?&lt;/strong&gt;&lt;br&gt;
Before document processing and declaration filing, on the earliest consignment record.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What blocks a filing?&lt;/strong&gt;&lt;br&gt;
Any flag, including unknown, until someone reviews it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does this replace spot checks?&lt;/strong&gt;&lt;br&gt;
No, single-code searches still answer one-off questions quickly.&lt;/p&gt;

&lt;p&gt;See how many hours your integration could hand back before the next declaration. &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>integration</category>
      <category>ai</category>
      <category>api</category>
      <category>customs</category>
    </item>
    <item>
      <title>Connecting Classification and Establishment Validation Into One Compliance Flow</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:47:35 +0000</pubDate>
      <link>https://dev.to/john_hall/connecting-classification-and-establishment-validation-into-one-compliance-flow-11j</link>
      <guid>https://dev.to/john_hall/connecting-classification-and-establishment-validation-into-one-compliance-flow-11j</guid>
      <description>&lt;p&gt;Treating classification and establishment validation as separate systems creates a gap exactly where errors happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why separation causes problems
&lt;/h2&gt;

&lt;p&gt;If classification runs in one tool and establishment validation runs in another, someone has to manually pass the confirmed commodity code from one system to the next. That handoff is where mistakes get introduced, particularly for composite products.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an integrated flow looks like
&lt;/h2&gt;

&lt;p&gt;Classification determines the commodity code and flags whether it falls under Regulation (EC) 853/2004 or (EU) 1069/2009. That result feeds directly into an establishment lookup against the TRACES lists for the correct country and activity, without a manual re-entry step. This &lt;a href="https://www.icustoms.ai/blogs/products-requiring-eu-approved-establishment/" rel="noopener noreferrer"&gt;establishment approval for EU exporters&lt;/a&gt; overview shows how the two checks map to each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting to documents and declarations
&lt;/h2&gt;

&lt;p&gt;Classification and establishment checks feed the same consignment as your commercial documents and customs declarations. Keeping all of it, document data, HS codes, establishment status and filing, on one platform avoids reconciling the same shipment across five separate tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this looks like at scale
&lt;/h2&gt;

&lt;p&gt;Logistics providers running compliance across the UK, Ireland and multiple EU markets need classification and validation to run consistently across every filing, not configured separately per country.&lt;/p&gt;

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

&lt;p&gt;Connecting these steps closes the loop between the right code and the right list, before the shipment reaches the border, rather than discovering the gap there.&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 classification, validation and filing running from one platform.&lt;/p&gt;

</description>
      <category>establishmentvalidation</category>
      <category>classification</category>
      <category>compliance</category>
      <category>ai</category>
    </item>
    <item>
      <title>Connecting the CHED to Your Customs Declaration Without Dropping the Reference</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Tue, 18 Aug 2026 08:39:12 +0000</pubDate>
      <link>https://dev.to/john_hall/connecting-the-ched-to-your-customs-declaration-without-dropping-the-reference-440c</link>
      <guid>https://dev.to/john_hall/connecting-the-ched-to-your-customs-declaration-without-dropping-the-reference-440c</guid>
      <description>&lt;h2&gt;
  
  
  Two systems, one consignment
&lt;/h2&gt;

&lt;p&gt;Health controls and customs are separate processes with separate records. The Common Health Entry Document is filed in TRACES NT and closed by the border control post in Part 2. The customs declaration is a different submission entirely. The join between them is the CHED reference, and it is easy to drop.&lt;/p&gt;

&lt;h3&gt;
  
  
  The failure this causes
&lt;/h3&gt;

&lt;p&gt;A consignment can pass the documentary, identity and physical checks, be recorded as accepted in Part 2, and still not be released, because the customs declaration does not carry the CHED reference. Nothing is wrong with the goods. The two records simply have not been linked. Reading through the &lt;a href="https://www.icustoms.ai/blogs/common-health-entry-document-ched/" rel="noopener noreferrer"&gt;CHED and customs declaration integration&lt;/a&gt; step makes clear that this is treated as part of the same job, not a separate one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Designing the handoff
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;treat the CHED reference as a required field on the customs declaration for any regulated consignment, not an optional one&lt;/li&gt;
&lt;li&gt;pull the reference from the CHED record rather than re-keying it, since transcription is where digits get lost&lt;/li&gt;
&lt;li&gt;validate the CHED type against the goods classification at the same point, so CHED-P and CHED-D confusion is caught once&lt;/li&gt;
&lt;li&gt;keep both records under one consignment identifier internally, so the link is queryable after the fact
### Classification as the shared dependency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The CHED type follows the product, and so does the customs classification. iClassification determines HS codes across 32 or more countries, which lets the same classification decision drive both the CHED type and the declaration rather than being made twice by two teams.&lt;/p&gt;

&lt;p&gt;Bring both submissions into one audited flow, and &lt;a href="https://www.icustoms.ai/book-a-demo/" rel="noopener noreferrer"&gt;watch a demo&lt;/a&gt; to see the reference carried through automatically.&lt;/p&gt;

</description>
      <category>ched</category>
      <category>customsdeclaration</category>
      <category>ai</category>
      <category>consignment</category>
    </item>
    <item>
      <title>Integrating Customs Software Around TRACES NT</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Mon, 17 Aug 2026 08:47:16 +0000</pubDate>
      <link>https://dev.to/john_hall/integrating-customs-software-around-traces-nt-2hhb</link>
      <guid>https://dev.to/john_hall/integrating-customs-software-around-traces-nt-2hhb</guid>
      <description>&lt;p&gt;TRACES NT is interoperable with customs IT and other EU digital systems, which is a real change from TRACES Classic and its limited external integration. If you are planning an integration, it helps to be precise about what connects to what.&lt;/p&gt;

&lt;h2&gt;
  
  
  The systems context
&lt;/h2&gt;

&lt;p&gt;TRACES NT is a core component of IMSOC, the Information Management System for Official Controls, alongside iRASFF, ADIS and EUROPHYT. It operates under Regulation (EU) 2017/625. Your integration is joining an ecosystem, not a standalone application.&lt;/p&gt;

&lt;h2&gt;
  
  
  What surrounding software actually does
&lt;/h2&gt;

&lt;p&gt;TRACES NT remains the official certification platform. Automation software around it extracts document data, validates establishment codes and files customs declarations, so information is accurate before it reaches TRACES. That is the useful division of labour: the Commission owns certification, your stack owns data quality. This boundary is described in this guide to &lt;a href="https://www.icustoms.ai/blogs/traces-classic-vs-traces-nt/" rel="noopener noreferrer"&gt;TRACES NT and IMSOC integration&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design considerations
&lt;/h2&gt;

&lt;p&gt;Plan for EU Login and two-factor authentication in any user-facing flow. Model all four CHED types rather than the one your first customer needs. Keep an authoritative local copy of establishment code lists and refresh it, because stale reference data creates the exact error you built the integration to prevent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reporting side
&lt;/h2&gt;

&lt;p&gt;Qlik Sense replaced QlikView in 2024 and offers flexible filtering, which is worth checking before you rebuild dashboards you could simply consume.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scale reference
&lt;/h2&gt;

&lt;p&gt;More than 5.4 million official documents in 2024 across 113,000+ users in 90+ countries.&lt;/p&gt;

&lt;p&gt;See how iCustoms connects to your customs filing process: &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>integration</category>
      <category>eutrade</category>
      <category>architecture</category>
      <category>customs</category>
    </item>
    <item>
      <title>Fitting TRACES NT Into an Existing Customs and Compliance Stack</title>
      <dc:creator>John Hall</dc:creator>
      <pubDate>Wed, 12 Aug 2026 07:56:16 +0000</pubDate>
      <link>https://dev.to/john_hall/fitting-traces-nt-into-an-existing-customs-and-compliance-stack-5ani</link>
      <guid>https://dev.to/john_hall/fitting-traces-nt-into-an-existing-customs-and-compliance-stack-5ani</guid>
      <description>&lt;h2&gt;
  
  
  TRACES NT is one component, not the whole stack
&lt;/h2&gt;

&lt;p&gt;TRACES NT handles sanitary and phytosanitary certification for animals, plants, food and feed under Regulation (EU) 2017/625. It does not handle customs declarations, document capture or master data quality. Planning where those responsibilities live is what makes the stack coherent.&lt;/p&gt;

&lt;h3&gt;
  
  
  Start with identity and organisation structure
&lt;/h3&gt;

&lt;p&gt;Because access is granted per organisation, decide whether your broker files under their own registration or yours before anyone creates accounts. Getting this wrong produces duplicate organisations that need competent authority correction later. The &lt;a href="https://www.icustoms.ai/blogs/traces-registration-guide/" rel="noopener noreferrer"&gt;TRACES NT operator registration guide&lt;/a&gt; explains the role choices that drive this.&lt;/p&gt;

&lt;h3&gt;
  
  
  The data feeding the certificate
&lt;/h3&gt;

&lt;p&gt;CHED preparation depends on accurate consignment data. iCustoms Intelligent Document Processing extracts that data at 99% accuracy, reducing the manual re-keying that causes rejected notifications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Validating establishment codes
&lt;/h3&gt;

&lt;p&gt;Establishment approvals sit behind many CHED submissions. iTraces validates establishment codes against the official TRACES database, so you find a problem before the border control post does.&lt;/p&gt;

&lt;h3&gt;
  
  
  Filing across member states
&lt;/h3&gt;

&lt;p&gt;Consignments rarely stop at one country. iCustoms supports EU customs filing across 22 EU nations, and logistics operators including Kerry Logistics, Ziegler and Woodside Logistics Group use these services alongside their own systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  A practical sequence
&lt;/h3&gt;

&lt;p&gt;Register on TRACES NT, confirm role and organisation at first login, connect document extraction to your CHED preparation, then validate establishment codes as a pre-submission check. Each layer catches what the previous one missed.&lt;/p&gt;

&lt;p&gt;See how iCustoms connects document processing, establishment checks and EU filing in one place. &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>tracesnt</category>
      <category>compliance</category>
      <category>customs</category>
    </item>
  </channel>
</rss>
