Freight & logistics ERP

Every shipment file with its true cost and margin

We configure Odoo for forwarders, brokers and transport companies: each job is a shipment file that collects its quotations, customer invoices and vendor costs, in any currency, even when the carrier's bill arrives weeks after the container sailed.

  • Cost and revenue per file
  • Sea, air and land jobs
  • Multi-currency billing
  • POD-linked invoicing
Industry playbooks on this site
Offices: Bangkok, New York, Delhi NCR
Apps of our own on the Odoo Apps Store
Reply time on business days
day

What we set up

The forwarding workflow, from quotation to closed file

Odoo brings the accounting, invoicing and multi-currency engine. We add a compact shipment-file module on top, so operations and finance stop living in separate spreadsheets.

Featured module

The shipment file as one record

Each job, sea, air or land, is one file carrying the route, the parties, the container or AWB references, and an analytic account. Every quotation, customer invoice and vendor bill posts to that file, so its margin is a lookup, not a month-end investigation.

  • Sea, air, land and cross-border jobs on one model
  • Charges carried in buy and sell versions per file
  • Every document and reference linked to the file
  • File profit visible before the file closes

Standard Odoo set up for your sector first; custom code only where it stops.

Talk to us

Quotations from rate sheets

Sell rates per lane and charge code turn into quotations in minutes, and a won quotation opens the shipment file with its charges already loaded.

Customer invoicing per file

Invoices in the customer's currency, zero-rated and standard VAT lines on the same document, and reimbursable charges passed through cleanly.

Vendor costs that find their file

Carrier, trucking and customs bills match to the file's expected costs when they arrive, and anything unexpected lands in an exception queue, not in silence.

Multi-currency without spreadsheets

Buy in USD, bill in THB, report in both. Odoo carries the rates, the gains and losses, and the revaluation your auditor asks about.

Milestones and status

ETD, ETA, customs clearance and delivery recorded per file, with overdue milestones surfacing on a follow-up list instead of in an angry call.

Documents on the file

House and master bills, packing lists, customs entries and the signed POD live on the shipment file in Odoo Documents, findable years later.

Customer portal

Customers see their invoices, statements and shipment documents in a portal, which quietly ends a whole category of email.

Margin by lane and customer

Profit per file rolls up by lane, mode, customer and salesperson, from the same ledger your accountant closes each month.

Ops meets finance

Operations and accounting reading the same file

In most forwarding companies, operations track jobs in one spreadsheet and accounting books costs in another, and the two meet months later in an argument. We make the shipment file the meeting point: ops fill in the operational side, finance sees the money side, and both look at the same record.

Walk one file end to end

We follow a real job from booking to closed file, including the exceptions, before configuring anything.

Charge codes agreed in writing

Your list of charge codes, freight, THC, customs, trucking, is agreed and mapped once, because it shapes every quote and report after.

Close files with accruals

Files close on time with expected costs accrued, so late carrier bills adjust the accrual instead of reopening the month.

Stay through the first close

We stay through the first month-end close, when accruals, exchange differences and agent settlements all have to reconcile.

Before you commit

The honest limits of Odoo in freight forwarding

Odoo is not a forwarding system out of the box, and anyone who tells you otherwise is selling a demo. This is what the real project involves.

01

The file module is custom work

The shipment file, its charge lines and its documents are a custom module we build, or a third-party app we vet. It is the heart of the build and we scope it first, in writing.

02

Late bills need an accrual habit

Closing a file before every carrier bill arrives means accruing expected costs. The system supports it; the discipline comes from a process we design with your accountant.

03

Tracking APIs vary by carrier

Container and flight tracking integrations differ per carrier and are priced per endpoint. For low-volume lanes, updating milestones by hand is often the honest recommendation.

04

Multi-currency needs a policy

Which rate applies at quotation, invoicing and settlement, and how differences post, must be agreed before go-live. We write that policy down with finance.

05

Customs filing stays outside

Odoo records entry numbers, duties and charges, but it does not file customs declarations. Your broker software keeps that job; we link the references.

06

Odoo Online limits add-ons

The shipment-file module is custom code, which Odoo Online does not accept. Plan for Odoo.sh or your own server from the start.

How we help

Each of these is raised in scoping, priced into the phase it belongs to, and written into the scope, not discovered after go-live. If Odoo is the wrong fit for your operation, we say so on the first call.

Reliability & security

Engineered for reliability & security

Role-based access

Odoo security groups and record rules so each person sees only what their job needs.

Tested backups

Daily backups with restores rehearsed on a schedule. An untested backup is not a backup.

Full audit trail

Chatter history, approvals and document logs show who changed what, and when.

Hardened hosting

TLS everywhere, patched servers, firewalls and monitoring whether you run Odoo.sh or your own server.

PDPA-aware data handling

Personal data kept where it belongs, with retention and access set up around Thailand's PDPA.

Upgrade-safe custom code

Custom work lives in separate, tested modules so the next Odoo version is an upgrade, not a rebuild.

Rollout

A smooth rollout, fully supported

  1. Walk the process

    Workshops with the people who do the work, before any configuration.

  2. Configure the baseline

    Standard Odoo set up for your sector first; custom code only where it stops.

  3. Pilot with one team

    One site, one team, one month, on live data, with a rollback point.

  4. Scale and hand over

    Roll out to the rest, train by role, and stay through the first month-end close.

Dedicated consultant

The same person from the first call to go-live.

Documentation you keep

Process guides and handover notes in your own repository.

Training in EN or TH

Role-based sessions for new staff, whenever you need them.

Integrations

Wired into carriers, banks and your partners

Rates arrive in spreadsheets, statuses live with carriers, and money moves through banks in several currencies. We connect what pays for itself and leave the rest manual, honestly. Each integration has retries and a readable log, priced per endpoint.

  • Container tracking APIs
  • Air cargo tracking
  • Excel rate sheets
  • Customs broker software
  • GPS truck tracking
  • Bank statement files
  • e-Tax Invoice providers
  • Customer EDI feeds

Data contract first

We agree which system owns each field, such as milestone dates, charges or references, before any sync is built.

Retries and a readable log

Failed calls retry automatically and land in a queue your team can see, instead of disappearing silently.

Statements reconciled

Bank lines in THB and USD match to invoices and vendor bills, with exchange differences posting where they should.

Priced per endpoint

Each integration is quoted per endpoint once the data contract is agreed, so adding a carrier later is a known cost.

Engagement options

Pick the starting point that fits your operation

Every option has a fixed scope and price per phase, agreed in writing before work starts. If you choose Odoo Enterprise, licenses are billed by Odoo directly and never marked up by us.

Forwarding fit review

For forwarders deciding whether Odoo fits. A fixed-fee review of your job flow, charge codes and current tools, ending in a written recommendation.

Priced after scoping

  • Walk-through of one live file, booking to close
  • Charge-code and currency policy review
  • Custom module or third-party app recommendation with reasons
  • Costed, phased roadmap you keep
Talk to us
Most chosen

Phased forwarding rollout

The core build: the shipment-file module, quoting, invoicing and Accounting, proven on one lane before the rest follow.

Priced after scoping

  • Fixed scope and price for each phase
  • Shipment-file module scoped in writing
  • Charge codes, currencies and accruals configured
  • Role-based training for ops, sales and finance
  • Support through the first month-end close
Talk to us

Job-costing add-on

For forwarders already on an accounting system who need per-file costing and margin without replacing everything at once.

Priced after scoping

  • Audit of the current job and billing flow
  • Analytic accounts per file and charge code
  • Accrual process for late vendor bills
  • Margin reports by lane, mode and customer
Talk to us

FAQ

Questions clients ask first

Does Odoo have a freight forwarding module?

Not in the standard apps. The accounting, invoicing and multi-currency engine is standard Odoo; the shipment file itself is a compact custom module we build, or a vetted third-party app. We recommend one route after scoping and price it as its own line.

Carrier bills arrive weeks late. Can costs still hit the right job?

Yes, and this is the core of the design. Each file carries its expected costs, so a late bill matches against them when it arrives, and files you close early carry an accrual that the bill later adjusts. Unmatched bills land in an exception queue for review.

Can we invoice in USD and keep books in THB?

Yes. Odoo invoices in the customer's currency, keeps the ledger in your company currency, and posts exchange gains and losses automatically. The rate policy, which rate applies at quotation, invoice and payment, is agreed with your accountant before go-live.

Can customers track their shipments themselves?

Customers see invoices, statements and shipment documents in the Odoo portal as standard. Live milestone tracking in the portal is an extension we scope per project, and automated carrier tracking depends on each carrier's API, priced per endpoint.

How long does a forwarding Odoo implementation take?

A focused core covering the file module, invoicing and accounting typically runs six to twelve weeks, with tracking integrations added per endpoint after that. The charge-code cleanup is usually the long pole. You get a phased timeline after scoping, not before.

Get started

Let's build your ERP roadmap

Tell us how your business runs today. You get an honest view of how Odoo fits, what it would take, and a phased plan, within one business day.

  • Free first scoping call
  • Written scope and phased plan
  • Delivery in English or Thai

Your details stay private. We reply within one business day.