Maritime compliance checklist for Egyptian shipping agencies
An Egyptian shipping agency answers to three parties that never forgive delays: NAFEZA, the port, and the tax authority. This checklist collects what to verify at every stage — from pre-arrival data to the e-invoice — so errors surface before they cost you a berth or a penalty.
ACI pre-arrival data: where most problems are born
NAFEZA does not negotiate: cargo moving with incomplete pre-arrival data sits on the quay regardless of circumstances. Before loading at the origin port, verify: 1) the importer's ACID number is issued and valid before the cargo is loaded; 2) the ACID and the importer's tax registration number appear identically on the bill of lading, the manifest and the commercial invoice — one wrong digit is enough for rejection; 3) the manifest is filed electronically on NAFEZA within the required window before the vessel arrives; 4) weights and package counts match actual booking data, not estimates. An agent who checks these four before sailing saves a full week of post-arrival correspondence.
The port-call file: complete before requesting pilotage
Every port call is one document set, and any gap delays berthing at the vessel's expense. The minimum to have ready: 1) initial and updated arrival notices to all parties concerned; 2) the pilotage and berthing request with correct vessel particulars and draft; 3) crew list and valid ship certificates; 4) the maritime declaration of health; 5) dangerous-goods declarations where applicable, notified before arrival — never after. The recurring failure is not a missing document but competing copies: one with operations, one with accounting, a third in the master's inbox — and the port receives the oldest. One updated file per call ends that chaos.
B/L issuance: five matches before you sign
A bill of lading is a document of title; a mistake in it is not fixed with a phone call. Before releasing any original: 1) shipper, consignee and notify-party details match the shipping instructions word for word; 2) cargo description, package count and weights come from the actual loading report, not from what the client said; 3) freight terms — prepaid or collect — are settled in writing; 4) the number of originals is agreed and stated on the B/L itself; 5) the shipped-on-board date is the actual loading date. Backdating it a single day to satisfy a letter of credit puts the agency in direct legal exposure.
Agency billing on the ETA system: an obligation, not an option
Agency fees and services fall under the Egyptian Tax Authority's e-invoicing system like any other business. Before every issue, check: 1) the invoice is issued and cleared electronically — no paper substitute; 2) service codes use the approved coding and match the service actually rendered; 3) the client's tax registration number is current and correct; 4) disbursements paid on the client's behalf are kept fully separate from fee revenue, so tax is never computed on money that was never income; 5) credit and debit notes are issued through the same system for any adjustment.
Suez transit paperwork: a file with no room for gaps
Coordinating with the Suez Canal Authority is a business of minutes. Before requesting transit, confirm: 1) vessel particulars, draft and tonnage submitted accurately in the transit request; 2) the canal tonnage certificate is valid and in the file; 3) dangerous-goods declarations notified in advance where applicable; 4) transit dues arranged before convoy day, not on its morning; 5) the convoy slot confirmed and communicated to the master and the operator at the same moment. Everyone in this industry knows what a missed convoy means for the vessel — and nobody enjoys explaining it to the owner.
Common rejection causes — and how to close the door on them
The mistakes that repeat in almost every agency: ACID mismatches between B/L and manifest, manifests filed past the deadline, weights that differ from what was actually loaded, vague cargo descriptions like "general merchandise", e-invoices with a wrong service code or a stale tax number, and B/Ls dated before loading. They share one root: data copied by hand from document to document, where every manual copy is a fresh chance to err. The real fix is not a more careful clerk — it is a system where data is entered once, then generates the manifest, the B/L and the invoice, and refuses to save on any conflict between documents.
This checklist is not theory — Dunally runs it every day
Dunally, our maritime agency system, is built on the same foundation described here: data entered once generates the manifest, the B/L and the ETA invoice automatically — running for real agencies today. Click and see it.
Dunally ←Is Excel plus WhatsApp not enough, the way we work now?
It is enough in a quiet week, and it collapses in the first busy season or when the one person who knows the file goes on leave. The checklist sets the order; manual execution still copies the same data five times — and that is where errors are born. Automation is the only guaranteed way to actually run the checklist.
We are a small agency with few port calls — do we need all this?
A NAFEZA rejection or a tax penalty never asks how big the agency is. If anything, a small agency is hit harder: one stuck call ties up a larger share of its work and of its reputation with the shipping line.
The ACID number is the importer's responsibility — why is it our burden?
The importer obtains it through NAFEZA, yes — but the manifest your agency files must carry it correctly, and a rejected shipment stands in your name before the line and the port. Early verification protects you first and serves your client second.
Do procedures differ between Alexandria, Damietta and Port Said?
The framework is national — NAFEZA and e-invoicing apply everywhere — but operational details and timings differ port to port. The checklist covers what binds you at every port, and the system is then configured for the specifics of each port you work.
Rules keep changing — how do we keep up with updates?
That is the strongest argument for automation in the first place: when a deadline changes or a new required field appears, the system is updated once and the whole team complies automatically — instead of an internal memo some read and some miss.
Download the checklist and work with it tomorrow — or better: watch Dunally run it automatically in a live demo with Saleh.