Building an app for registration on receipt and release
Under a simplified procedure, you make a declaration by entering goods into your own records. This means the forklift driver who books a pallet in is performing a legal act: the customs debt arises at that moment. A booking date that someone can later amend is no longer a booking date.
Why the warehouse floor is the legal moment here
Authorisation to register in the declarant's records is granted for special procedures: customs warehousing, temporary admission, special destination, and active or passive inward processing. Instead of sending a declaration message for each consignment, you record the goods in your own records. From that moment, everything runs: the customs debt arises, the deadline for the supplementary declaration starts, and the goods fall under the procedure.
In the Netherlands the period is one calendar day, and the supplementary declaration must be submitted no later than the tenth day after registration. That makes the day on which something is registered decisive for which batch it lands in. A pallet that arrives at 23:40 but is booked in the next morning sits in the wrong period, and you only discover this once the message has already been sent.
The requirement on records is explicit: they must be set up so that data is recorded accurately, on time and completely. Many stock systems book with a date that a user can choose or correct afterwards. For ordinary stock management that is convenient; for this procedure it is unsuitable, because that field is here the declaration date.
How we build this
Registration must happen at the moment of the physical act, with a timestamp that nobody can alter. Everything around it follows from that.
Scanning on receipt or dispatch is the registration, not a preparation for it. That is the only way the timestamp and reality coincide.
The moment of the act is recorded and cannot be changed afterwards. A correction sits alongside it, with reason and person.
Does this type of goods fall under the authorisation, and is the procedure permitted? After registration, an error is a correction with all its consequences.
A warehouse does not have coverage everywhere. The app works offline and keeps the original timestamp when it synchronises.
What the app does in practice
Registration at the point of the act carries the whole process. What you add beyond that depends on which procedures you operate.
Registering by scanning
On receipt or dispatch, the consignment is registered with the timestamp of the act. No form filled in afterwards, because that is exactly where the date starts to drift.
Checking before the legal moment
Goods type, procedure and validity of the authorisation are checked before the registration is final. After that, it is a correction.
The period visible on the floor
Which calendar day applies and until when it stays open. For an act late in the evening, that makes the difference for the supplementary declaration.
Stock with procedure and deadline
For customs warehousing and inward processing, each lot carries a procedure and a clearance deadline. Without that information, your stock is not a customs record.
Works without coverage
In a warehouse, coverage drops out of the picture. Everything is recorded locally with the original timestamp and synchronised later.
Connecting to your customs records
Licences, time periods and supplementary declarations remain in your customs administration. We write to it through integrations.
Who we build for
Where the entry takes place differs by scheme. Four situations.
Customs warehouse
Receipt and dispatch are the moments that matter here. The stock administration must match at all times what customs has on its system.
Active processing
Goods arrive under suspension and leave again after processing. The link between the incoming and outgoing party is a customs question here too, not just a production one.
High-volume import
Many entries per day and short turnaround times. What matters most here is that the period closes with everything in it and nothing outside it. Submission itself sits with customs declaration software.
Freight forwarders and representatives
You file on behalf of several clients, each with their own permits. Filing under the wrong permit then becomes a question of liability.
Test your idea first: a working prototype in 1 day
With OneDayBuild, we turn your idea into something tangible in one day for €1,150, so you can see whether further development is worth the investment. Decide to go ahead with the full build? Then we credit the full cost.
Explore OneDayBuild →Technology and integrations
Permit conditions and message versions change. Anything relating to schemes, periods and checks should be configurable and not hard-coded into the app.
Why Appfront
The action is the declaration
We build the entry into the scan itself. A form completed later puts the declaration date at the wrong moment.
The timestamp must be fixed
We make the moment unalterable. A posting date a user can choose is unsuitable for this scheme.
Checking beforehand is cheaper than correcting afterwards
We place the check on goods type and permit before entry, because by then the legal moment has already passed.
A warehouse floor has no coverage
We build offline working with the original timestamp preserved. Otherwise the entry takes the time of synchronisation.
Security and privacy
This app touches your purchasing, your suppliers and your margins, and for a representative, the data of several clients at once. We set access per client and per permit, show on the floor no more than the action requires, and log every inspection.
On this subject, logging is not supportive but legal. The entry is the declaration, so a timestamp that shifts afterwards or a line silently updated directly affects what you have declared. We record entries as unalterable with time, place and person, even when synchronisation happens later, and turn any correction into a visible correction alongside the original line. How we handle security ourselves is set out in our information security policy; reports from outside go through our vulnerability disclosure policy.
Frequently asked questions about the DMS app
With a permit, entry in the declarant's administration does count: the customs debt arises at the moment of entry in your administration. What that entry precisely is, and which data it must contain, is set out by your own permit. Have your customs adviser check this before you set up a process.
Because that field is the declaration date here. In a regular stock administration, an adjustable posting date is handy; here it determines which period the consignment falls into and when the supplementary declaration must be submitted. We therefore fix the moment and place a correction alongside it rather than over it.
In the Netherlands, the period is one calendar day. The supplementary declarations for that period are sent together, no later than the tenth day after registration. A consignment registered just after midnight therefore belongs to the following day. Check the precise deadlines in your permit.
The AGS app concerns the paperwork that travels with a customs consignment and what must be present during loading and unloading. This app concerns the registration itself: the act of making your declaration. That is a different action at a different moment.
Yes, and that is necessary: a bonded warehouse rarely has coverage everywhere. Everything is recorded locally with the original time and synchronised later. Without that, a registration would take on the time of synchronisation, and the period would no longer be accurate.
Yes, and that is the most important feature. The type of goods, the procedure and the validity of the permit are checked before the registration is final. After that point, it becomes a correction, with everything that entails towards Customs.
Yes, and separation is key. Each client has their own permits with their own conditions. We set access and checks per client, so that an employee cannot accidentally register under the wrong permit.
That depends on the number of transaction moments, which schemes you operate, and whether integrations are needed with your stock and customs administration. Scanning with the check beforehand is usually quick to put to use and removes the biggest risk; the stock side takes more effort. We will give a reasoned estimate after the discovery phase.
Want to know whether your registration times are correct?
Take a registration from last week and compare the time recorded in the system with the moment the pallet was physically there. If there is a gap, your declaration date is at the wrong moment. We build this as a standalone app and as part of a broader custom app development project.