Accounting for Logistics
UAE 2026

How UAE freight forwarders, customs brokers, and transport businesses book shipments, recharge customs duties, reconcile carrier statements, and close per-shipment margin — across CargoWise / Logi-Sys management software, Mirsal 2, and Zoho Books.

Open the flow Explore our Accounting &
Bookkeeping Services
📘 Skrooge App & Zoho Books
🚢 Freight TMSCargoWise · Logi-Sys · Magaya
1

PHASE 1: BOOKING

Quote accepted, shipment file opened in the TMS, and — if the client pays an advance — a Retainer Invoice raised against it

1.Open shipment file

Manual·Operations

Ops creates the shipment file in the TMS with a shipment number (e.g. SEA-DXB-2026-0421), shipper / consignee, mode (sea / air / road), Incoterms (CIF / FOB / EXW), prepaid vs collect, and the agreed sell rate. The shipment number is the master tag every cost and the final client invoice will hang off — set it once at booking.

📁 SHIPMENT TAG

1.Raise Retainer Invoice (if customer pays an advance)

Manual·Operations

When the client pays a deposit / advance up front (common for first-time customers, freight-on-collect arrangements, or high-value air shipments), raise it via Zoho’s Retainer Invoice module — not a regular invoice. Cash sits in Unearned Revenue (BS liability); VAT 5% is due at issuance under UAE rules (earliest of invoice / payment / supply). At final-invoice issuance (Row 3.1), the retainer credit is applied against it.

📊 +UNEARNED REV 📁 SHIPMENT TAG
2

PHASE 2: COSTS & DISBURSEMENTS

Two buckets, split by accounting treatment — the forwarder’s own costs vs pass-through (billable) costs. Both tagged to the shipment file.

1.Record forwarder’s costs

Manual·Accountant

Costs the forwarder genuinely bears — carrier freight + fuel surcharge + terminal handling + doc fees + local handling + marine insurance (when absorbed) — recorded as Bills tagged to the shipment number.

  • Default (no automation): Bills post straight to P&L expense accounts. Cost lands now, revenue lands at invoice — per-shipment margin swings negative on cost month, then artificially positive on invoice month. Pragmatic, lumpy — what most small UAE forwarders actually do.
  • With Skrooge automation: Bills route to mirror balance-sheet asset accounts (WIP — Carrier Freight, WIP — Port Handling, WIP — Marine Insurance, etc.); a per-line JE releases each WIP balance into its matching P&L expense account at invoice time. Clean per-shipment margin every period.
📊 −COST📊 +WIP 📁 SHIPMENT TAG

1.Record pass-through (billable) costs

Manual·Accountant

Costs the forwarder fronts but recharges at cost, no markup. Canonical case: customs duty paid through Mirsal 2 (Dubai Customs) or Federal Customs — declaration filed under the broker’s licence, duty calculated on CIF, drawn from a pre-funded customs deposit. Also: pass-through demurrage / detention, agreed cost-only recharges.

  • Default (no automation): Bills post to P&L expense accounts, ticked Billable against the shipment in Zoho. At invoice, Zoho surfaces them as revenue lines at cost — net P&L over the shipment lifecycle = zero, but cost and offsetting revenue land in different periods.
  • With Skrooge automation: Bills route to corresponding WIP accounts (same as with regular costs above) to later be expensed out.
📊 −COST📊 +WIP 📁 SHIPMENT TAG
3

PHASE 3: CLIENT INVOICE

Single invoice at delivery — sell rate + margin + disbursement recharges

2.Issue final client invoice (apply retainer credit, release WIP)

Manual·Operations

At delivery (or per the contract milestone), Ops raises the final client invoice — agreed sell rate (or cost + margin if open-book) plus disbursement recharges (duty, demurrage) at cost. Revenue posts.

  • Retainer credit applied: if a Retainer Invoice was raised at booking (Row 1.2), apply it against this invoice — Unearned Revenue → Revenue, no new VAT on the drawn-down portion. AR shows only the net amount the client still owes.
  • WIP release (with Skrooge automation): per-line JE releases each WIP — [cost type] balance into its matching P&L expense account, so cost and revenue land in the same period.
  • Recoverable cleared: the billable disbursements (duty, demurrage) ticked in Phase 2 are surfaced as revenue lines at cost on this invoice — net-zero P&L over the lifecycle.
📊 +REV 📊 −UNEARNED 📊 −WIP 📊 −COST 📁 SHIPMENT TAG

1.Finalise shipment file in TMS

Manual·Operations

Ops finalises the shipment file in the TMS — sell rate, accessorials, disbursements locked. The shipment number stays as the manual link Ops re-uses when raising the client invoice in Books.

4

PHASE 4: RECONCILIATION

Reconcile the bank & close out shipment tags before month-end

1.Reconcile bank, acquiring and corporate-card statements

Manual·Accountant

Pull the bank, acquiring and corporate-card statements. Match lines that already have a record in Books — supplier Bill payments (clearing Accounts Payable from Phase 2), client receipts (clearing Accounts Receivable from Phase 3). Categorize everything else, because there’s no matching Bill in Books yet — payroll & employee compensation, employee reimbursements, corporate card or petty cash expenses, owner withdrawals, bank fees. Catches anything missed elsewhere.

📊 −COST

1.aRun untagged-bills + open-shipments sweep

Manual·Accountant

Before month-end close, accountant runs (a) the “Bills with no Shipment” filter and chases ops to attribute each one to a shipment (or confirm it’s overhead) — costs accidentally booked to firm-level expense without a shipment tag corrupt per-shipment margin invisibly, and (b) the open-shipments report to flag shipments with costs / bills tagged but no invoice yet (revenue not yet captured — chase ops to bill or close) and invoices issued but expected carrier bill still missing (accrue the cost). With Skrooge automation the open-shipments side reads off WIP balances directly; without it, off Bills-tagged-to-shipment vs Invoices-issued. The single highest-leverage hour for per-shipment margin hygiene.

📁 SHIPMENT TAG

1.bConfirm shipment status

Manual·Operations

Ops confirms each shipment’s status — closed / billable now / awaiting carrier doc.

5

PHASE 5: TAX & REPORTING

Filing taxes and closing out the books — single combined tax row + per-shipment margin

1.File VAT & CT (FTA EmaraTax)

Manual·Accountant

VAT (quarterly): international transport of goods is zero-rated; UAE-domestic legs are 5%; foreign-carrier bills handled under reverse charge. Customs duty disbursements sit outside VAT scope. Corporate Tax (annual): 9% on profits above AED 375K; Small Business Relief if revenue ≤ AED 3M; free-zone forwarders (JAFZA, DAFZA) check QFZP eligibility against the qualifying-activities list.

1.aPrepare P&L, Balance Sheet, Cash Flow + Per-Shipment Margin

Manual·Accountant

P&L by service line (sea / air / road / customs clearance). Balance Sheet: Accounts Receivable, Accounts Payable, WIP balances (carrier freight, port handling, marine insurance), cash. Cash Flow: operating / investing / financing — the early-warning signal when your P&L says you’re profitable but your bank account says otherwise. Logistics is timing-lumpy: carrier bills land before client invoices, customs deposits drain weekly. Per-shipment margin = client invoice (sell rate, exc. recharges) − forwarder’s own costs (carrier, local handling, insurance) − allocated overhead. Pass-through recharges (duty, demurrage) net to zero on both sides and don’t move margin. Shipments below target margin flagged for ops review at the next quote cycle.

1.bReview job-profitability dashboard

Manual·Operations

TMS job-profitability dashboard — same numbers, ops-side view.

Frequently Asked Questions

How do you do accounting for a UAE freight forwarder?

UAE freight forwarders and customs brokers run accounting around one anchor: the shipment file. Every cost (carrier freight, port handling, customs duty), every advance (Retainer Invoice into Unearned Revenue when the client deposits up front) and the final client invoice all tag back to that shipment number. Costs split into two buckets — the forwarder’s own costs vs pass-through (billable) disbursements — both ideally routed through WIP and released at invoice. Per-shipment margin = sell rate − own costs; pass-throughs net to zero.

How should carrier costs and customs duty actually be booked?

Two cost types, same mechanic under automation. Forwarder’s own costs (carrier freight, port handling, etc.) and pass-through (billable) costs (customs duty, demurrage) both ideally route to mirror WIP — [cost type] balance-sheet accounts and release to their matching P&L expense at invoice time, so cost and revenue land in the same period. The Skrooge app automates the WIP routing + per-line release JE; without automation, most small forwarders just let costs hit P&L immediately (margin swings month-to-month for own costs) and use Zoho’s billable-expenses feature for pass-throughs (net-zero P&L over the lifecycle, timing-lumpy).

How do you handle a customer advance / deposit before the shipment ships?

Use Zoho’s Retainer Invoice module, not a regular invoice. The advance posts to Unearned Revenue (balance-sheet liability) and 5% VAT is due at issuance under UAE timing rules (earliest of invoice / payment / supply). At final-invoice time, the retainer credit is applied — Unearned Revenue moves to Revenue against the matching invoice line with no new VAT, and the final AR shows only the net amount the client still owes. Booking an advance as a regular invoice posts revenue immediately and breaks the deferral.

How do you track per-shipment margin in CargoWise + Zoho Books?

The shipment number is the universal tag — it goes on every Bill, every Retainer Invoice and the final client invoice. With Skrooge automation, the WIP balance per shipment is your real-time open-jobs read; without it, margin = Bills-tagged-to-shipment vs Invoices-issued, run as a Zoho Books project P&L. CargoWise’s native job-profitability dashboard shows the same numbers from the ops side — the two views should reconcile shipment-by-shipment at month-end close.

How is UAE VAT handled on freight forwarding?

International transport of goods is zero-rated under UAE VAT (Article 33 of the VAT Decree-Law) when the shipment crosses the UAE border. UAE-domestic legs — trucking inside the country with no international leg — are standard-rated 5%. Foreign-carrier bills (e.g. an overseas line invoicing in USD) are handled under reverse charge: 5% in / 5% out on the VAT return, net zero. Customs duty disbursements sit outside VAT scope — not a taxable supply when recharged at cost.

What about Corporate Tax for free-zone forwarders (JAFZA, DAFZA)?

Free-zone forwarders need to check Qualifying Free Zone Person (QFZP) eligibility against the FTA’s qualifying-activities list — logistics services typically appear, but exact scope (storage, transport, customs clearance, freight forwarding) should be verified against the latest Cabinet Decision before claiming 0%. Otherwise the standard rules apply: 9% on taxable income above AED 375,000, with Small Business Relief available if revenue ≤ AED 3M for both the current and immediately preceding tax period (current Cabinet Decision sunsets 31 December 2026).

Need help with accounting for your logistics business?

Skrooge runs accounting & tax for UAE freight forwarders and customs brokers — shipment-tagged bookkeeping, retainer invoicing, customs disbursements and per-shipment margin are part of the service.

Book a Free Consultation

Loading...

Hey! I’m Skrooge šŸ‘‹

Leave your phone number and we'll call you back.

Invalid phone number

or

Contact Us

Reach out yourself using the options below.

Thank you!

We've received your request and will get back to you shortly.

Back to site

Thank you!

We've received your request and will get back to you shortly.

Back to site