Transit movements from departure to destination,
in a single flow, by the rules.
NCTS Phase 6 compliant national transit application.
CustomsFlow is the national application of the common transit system (NCTS) for customs administrations. It was built according to the NCTS Phase 6 national transit application design document published by the European Commission: the departure, transit and destination office roles run on their own state machines, every message is validated against defined rules and written to an immutable record, and existing customs systems are connected through an adapter.
| MRN | Güzergah | Son mesaj | Status |
|---|---|---|---|
| 26XX00000000001042 | Departure A → Transit B → Destination C | CC029C | Released for transit |
| 26XX00000000001043 | Departure A → Destination D | CC060C | Under control |
| 26XX00000000001038 | Departure E → Transit B → Destination A | CD118C | Arrival accepted |
| 26XX00000000001021 | Departure A → Destination F | CC045C | Movement closed |
| 26XX00000000000997 | Departure C → Destination A | Zamanlayıcı | Enquiry |
IE015Trader declaration received; schema, code list and rule checks passed09:12CC028CMRN issued, guarantee usage recorded09:12CC060CRisk score above threshold: control decision notified09:13CC029CReleased for transit with officer approval09:41CD050CAdvance notification sent to the office of transit09:41

Vehicle üç kapıdan geçer,
the record never breaks.
Vehicle çıkıştan varışa her gümrük kapısından geçerken mesajlar üretilir, garanti kilitlenir ve serbest bırakılır. Hareketin durumu her ofiste aynı kayıttan görünür.
IE015Trader declaration received; it passed schema, code list and rule checks.Transit rules are changing,
systems cannot keep up.
The new phase of the common transit system brings hundreds of message rules, dozens of message types, business timers and two-way messaging with partner country administrations. Building this into existing customs systems takes a long time and requires redevelopment with every rule change.
Rules embedded in code
When rules and code lists live inside the application, every change becomes a software project.
Many external systems
Declaration, risk, guarantee, export and partner administrations; each one means a separate connection and a separate error format.
Invisible message traffic
Seeing which message stalled a movement, and why, means tracing it across more than one system.
From declaration to closure
in four steps.
Every step from the trader’s declaration to closing the movement follows the message and state definitions in the design document; business timers are kept as data, and a movement whose time runs out automatically moves to enquiry.
- 1
Beyan alınır
The trader’s message passes schema, code list and rule checks; if it passes, an MRN is issued and guarantee usage is recorded; if not, it is rejected with the rule that was breached.
- 2
Risk ve kontrol
If the risk engine’s score is above the threshold, a control decision is notified; the departure officer makes the decision on their own screen.
- 3
Transit and destination
The movement is released for transit; the offices of transit and destination are informed through common domain messages and make their own decisions.
- 4
Closure
The arrival result returns to the departure office, the guarantee is released and the movement is closed. A movement whose time runs out is placed under enquiry.
30 states, 18 decisions,
one movement record.
As a transit movement passes through the departure, transit and destination offices, each office writes its own status and decision to the same record. States and transitions were built from the official diagrams in the design document; what is waiting at which office is visible at all times.
resmi durumhareketin bu ofisteki halleri
karar migrationidecisions the officer can make
The office where the declaration is lodged
Declaration acceptance, risk and guarantee checks, control decision, release for transit, cancellation and enquiry.
resmi durumhareketin bu ofisteki halleri
karar migrationidecisions the officer can make
The office where the border is crossed
Receiving the advance notification, presentation of the vehicle, allowing or refusing the crossing.
resmi durumhareketin bu ofisteki halleri
karar migrationidecisions the officer can make
The office where the movement ends
Acceptance of arrival, control result, release of the goods and notification to the departure office.
Every message passes eight gates,
invalid ones return with their rule.
Every message from the trader or the common domain is validated in the order set out in the design document. Rules live in a versioned rule catalog, not inside the application code: 568 rules and conditions, and when they change, the catalog is updated, not the code.
IE015Trader declaration · LRN DEMO-0042Your existing systems
stay in place.
CustomsFlow connects to the customs administration’s running systems through an adapter layer and requires no changes to them. Eight integration points speak the same contract, and every call is recorded.
- Transit engine · roles, states, timers
- Rule catalog · 568 rules and conditions
- Immutable record · every message and call
For a national customs administration,
an end-to-end prototype in one day.
An NCTS Phase 6 national transit application was built as a prototype on Butterfly for a national customs administration. All data was fictitious; test scenarios were run end to end via the browser and API.
- 1 dayEnd-to-end kurulumThe entire flow, from departure to transit and from arrival to closing the movement, was built and run in one day.
- 568Rules and conditionsThe design document’s rules and conditions were loaded as a versioned catalog, together with 5,517 code list entries from common reference data.
- 8Integration pointsDeclaration, risk, guarantee, export, common domain, trader channel, reference data and availability; one contract, live monitor.
- 19 / 20Test scenarios passedIncluding guarantee errors, rule violations, crossing refusal, cancellation and enquiry. The remaining one is a deliberately simplified rejection flow.
For national transit,
everything you need.
Teams managing transit movements
end to end.

Customs administration officers
Departure, transit and destination officesWhy? ↻Tracing a movement across several systems to see why it is waiting slows down decisions.
What it doesSeeing the movement’s status, the message chain and their own decision on one screen.
Departure, transit and destination offices
Traders and customs brokers
Beyan sahipleri, lojistik ekipleriWhy? ↻Rationalesiz bir red, aynı beyanın deneme yanılmayla tekrar gönderilmesine yol açar.
What it doesSeeing why a declaration was rejected, with the rule number, and knowing where the movement is.
Beyan sahipleri, lojistik ekipleri
Customs IT and integration teams
System and integration managementWhy? ↻If rules live in the code, every phase change means a new software project.
What it doesMonitoring external system calls in real time and putting new rule sets into service without writing code.
System and integration managementExisting systems stay unchanged,
every step is recorded.
CustomsFlow is designed not to replace the customs administration’s running systems but to connect them to the common transit system. Every message and every external call is recorded; decisions rest with the authorized officer.
Control
- Every message in an immutable record, with its XML
- Every external call recorded with full request and response
- Decisions only on the authorized officer’s screen
- Times stored in UTC, shown in local time
Platform
- Connects to existing customs systems via an adapter
- Starts in Opt-Out mode, ready for Opt-In
- Multilingual interface
- Can be deployed on-premises
CustomsFlow and your transit process: how good a fit?
8 questions, two minutes. At the end, see CustomsFlow’s fit scorecard for your transit process and the reasons behind it.
- Transit scope
- Rule ve mesaj
- Integration
- Audit
About CustomsFlow
about Butterfly.
CustomsFlow nedir?
Which document was it built on?
Do we need to change our existing customs systems?
What happens when the rules change?
Does it support Opt-Out and Opt-In modes?
Liveda kullanılıyor mu?
Can it be deployed on-premises?
Let’s review your transit process through a scenario.
Let’s look at your office roles, the systems you need to connect and your migration timeline together. Let’s do the first assessment on a single transit scenario.