Most conversations about Annex 24 start on the wrong foot. Someone asks whether their system “runs Annex 24”, as if it were one more item on a report menu. It is not.
Annex 24 of Mexico’s General Foreign Trade Rules defines the minimum content of the automated inventory control system that every company with an IMMEX program is required to keep. The word that matters there is not “report”. It is “system”.
The difference is practical. A report is produced when someone asks for it. A control system has to have been recording correctly since the very first movement, because what you are asked to prove is the past, and the past cannot be captured again.
The question your system has to answer
If the whole obligation had to fit in one sentence, it would be this: the authority has to be able to ask, at any moment, where each unit you imported temporarily is, or what it turned into.
Read “what it turned into” again. That is the part that breaks most systems.
A normal inventory system knows how much came in and how much went out. It can tell you that you hold 1,200 pieces of a component. What it almost never knows is that 400 of those pieces came in on a March customs entry, 500 on a June one, and that of the 300 missing, 280 left assembled inside a finished product exported in August and 20 went to scrap.
That is traceability by customs entry with its discharges. And it is not an extra column in a table. It is a change in how inventory is modeled.
Why balance-based inventory is not enough
Most inventory systems keep balances. You hold a quantity, it adds on receipt and subtracts on issue. That is simple, and it works for buying and selling.
The control an IMMEX program requires does not keep balances, it keeps identified layers. Every receipt creates a layer that carries its own customs origin. Every issue has to say which specific layer it was drawn from. And when material is transformed, the layer does not disappear: it moves into the resulting product, in proportion.
If your system keeps balances, it has no way to answer the question above, no matter how good its reports are. What it lacks is the data, not the report.
This is what we see most often in Juarez plants: an ERP that works well for everything else, a tidy warehouse, people who know what they are doing, and a data model that was never designed to carry the customs origin of each piece. The result is a foreign trade team keeping a parallel set of books in spreadsheets, rebuilding by hand what the system should know on its own.
What the system has to record
Without quoting the text of the rule, which changes and which your customs advisor should confirm, the system has to leave a trail of four things:
- Receipts. What came in, on which customs entry, in what quantity and under which regime.
- Issues. What went out, which entry it was discharged against, and in what quantity.
- Transformations. What became what, and in what proportion. This is the most neglected part and the one that raises the most questions.
- Returns and final destinations. Including whatever ended as scrap or shrinkage, which also has to reconcile.
And it has to keep all of it. Foreign trade records are held for years, not until the next close. A system that purges old movements to run faster is a system that leaves you without a defense.
The part that is no longer optional
There is one structural change in recent years that matters more than any technical detail: the authority has electronic access to that system. It does not request the report and wait. It goes in.
That changes the risk calculation. A loose control used to be something you could paper over with a week of work before a visit. Now the state of the system is the state of the system, all the time.
And what is at stake is not a fine. It is the program. An IMMEX without a defensible inventory control is an IMMEX at risk, and without the program the operation does not exist.
What to do if you suspect you do not comply
Do not start by buying software. Start by measuring.
- Take one component and follow it. Pick a raw material that comes in temporarily. Ask your system to tell you, for the current balance, which customs entries each part came in on. If nobody can answer without opening a spreadsheet, you already have your answer.
- Take one finished product that was exported. Ask for the bill of materials that formed it and the customs origin of every input. This is the test that separates a real system from a pretty report.
- Count the hours. Ask your foreign trade people how many hours a month they spend reconciling the system with reality. That number is the real cost of not having the control, and it usually surprises people.
- Look at what happens to scrap. Scrap and shrinkage are where most discrepancies show up, because nobody records them with the care they give a sale.
If all four come out clean, your control is fine and you do not need anyone. If three out of four end in “Marisol keeps that in Excel”, what you have is not a reporting problem.
Where we come in
We have implemented inventory control under this obligation, and what we learned is that the work is almost never in the final report. It is in modeling inventory as layers with customs origin, in connecting transformation to the plant’s real bill of materials, and in capturing scrap where it happens instead of estimating it later.
If that sounds like your situation, let us talk. And if it turns out yours can be fixed by configuring what you already have, we will tell you that too.
The four steps, without running them yourself
Those four tests are exactly what Chira, our diagnostic agent, runs through. It asks about pedimento traceability, where scrap gets recorded, and the hours spent reconciling, then writes up what you are missing before software enters the picture. Five minutes, and it does not end in a sales call: it ends in a document you can take to your trade compliance people.