Job costing is the discipline of matching every sell charge and every cost to the single shipment that caused it, so a forwarder can see profit per job instead of guessing from the bank balance. The job file (one booking, one reference number) is the unit of account. The hard part is timing: sell charges are known at quote, but carrier, trucker, terminal and agent invoices often arrive days or weeks after the cargo has moved, so a job can look profitable on the day it is invoiced and lose money by the time the last cost lands. Accruals, disciplined disbursement handling and a monthly check of unbilled jobs are what close that gap. This post covers the mechanics. For pricing and overhead see freight forwarder pricing, margin and overhead, and for collecting the money see credit control for forwarders.
The job file as the unit of account
Every shipment gets one job number at booking, and every document, charge and invoice that touches the shipment carries it. That sounds obvious, but most margin errors begin with a cost that has no job number: a trucker invoice that references only the container number, a carrier statement that bundles twenty bookings, an agent debit note for "November shipments". If a cost cannot be tied to a job, it is either unrecovered (you never recharged it) or mis-allocated (it hit the wrong job and made another look worse than it was).
A usable job file holds four things side by side:
- Estimated sell and estimated cost, frozen at the moment the quote was accepted, so you can compare against what really happened.
- Actual and accrued cost, line by line, each marked as invoiced or not yet invoiced.
- Billed sell, with invoice numbers, including anything recharged after the fact.
- Pass-through items, kept in a separate section from your own revenue and cost (more on that below).
Job margin is revenue minus the direct costs of that job. It is not net profit: overhead, bad debt, currency movements and claims sit outside the job file. Keep the two ideas apart, or a healthy job margin will hide an unhealthy business.
Estimated vs actual cost: where the gap shows up
The estimate on the job file is the cost you expected when you quoted. The actual is what the carrier, trucker and terminal invoices say once they arrive. Reviewing the variance per job is the single most useful habit in forwarder accounting, because a variance is almost always a specific, fixable event rather than bad luck. The figures below are illustrative, not benchmarks.
| Cost line (illustrative FCL export) | Estimate | Actual or accrued | Status |
|---|---|---|---|
| Ocean freight | 1,900 | 1,900 | Carrier invoice received |
| Surcharges | 250 | 310 | Accrued, invoice pending |
| Origin trucking | 300 | 320 | Trucker invoice received |
| Origin terminal handling | 150 | 150 | Accrued |
| Documentation and other | 50 | 50 | Accrued |
| Destination detention | 0 | 140 | Not quoted, not yet recharged |
| Total cost | 2,650 | 2,870 |
With a sell of 3,000, the estimated margin was 350 (about 11.7% of sell). The actual margin is 130 (about 4.3%) until the 140 of detention is recharged to the customer, at which point it recovers to 270. Nothing about the market changed. The job lost money because a surcharge moved, a trucker billed more than quoted and a destination charge was never put in front of the customer. A forwarder who only looks at invoiced sell versus bank receipts sees none of this.
What an accrual is and why forwarders need them
An accrual records a cost you have incurred but have not yet been invoiced for. IAS 37 (the IFRS standard on provisions) describes accruals as liabilities to pay for goods or services that have been received or supplied but not yet paid, invoiced or formally agreed with the supplier. In a forwarder, that is the everyday state of affairs: the vessel has sailed, the terminal has handled the box, and the invoices will come next month.
Without accruals, two things go wrong at once. Revenue is booked when you invoice the customer, but the matching cost is booked only when the supplier invoice is approved, so the job looks fat in one month and the cost drops into a later one. The profit and loss for each month is then wrong in both directions, and the KPIs you build on it (see freight forwarder KPIs and scorecards) inherit the error.
A workable accrual routine:
- When a job is billed or completed, post the estimated cost for every line not yet invoiced against that job.
- When the supplier invoice arrives, reverse the accrual and post the invoice. The difference is the variance; it should land on the job, not vanish into a general ledger account.
- Review accruals older than a set age (your own policy, for example 60 or 90 days). An old accrual means either the supplier never billed you, which is a liability you may owe later, or the estimate was wrong and the job margin is overstated.
Estimated costs should come from the rate you actually bought, not the rate you hoped for. If you buy carrier space on contract, the contract rate is the estimate; if you buy spot, the booking confirmation is. Rates that expire before shipment are one of the quieter causes of variance, which is why quote validity and rate expiry matters on the buying side as well as the selling side.
Pro forma and final disbursement accounts
The terms pro forma disbursement account (PDA) and final disbursement account (FDA) come from ship agency. A port agent sends the shipowner or charterer a PDA before the vessel arrives: an estimate of port charges, pilotage, towage, agency fee and other expected costs, with the aim of receiving funds in advance. After the vessel sails, the agent issues the FDA with what was actually incurred and settles the difference. The BIMCO and FONASBA Agency Appointment Agreement sets out this style of arrangement for a one-off port call.
Forwarders use the same logic for any job where they advance third-party costs on the customer's behalf: project cargo, port calls, customs duties, terminal fees, inspections. The two-step structure is worth copying even if you never call it a PDA:
- Estimate and fund first. Send the customer a pro forma statement of expected pass-through costs and, where credit is not established, ask for funds on account before you pay anything on their behalf.
- Reconcile at the end. Send a final statement that shows each cost against its supplier receipt, with the variance explained and the balance refunded or invoiced.
Most disputes arise in the gap between the pro forma and the final account: tariff changes, extra services, timing. A final statement that shows supplier receipts line by line removes most of the argument. If you do not hold the receipts, you cannot defend the number.
Disbursements: principal or agent?
A disbursement, in the narrow sense, is a payment you make on a customer's behalf and bill back at cost: customs duty and import VAT advanced to customs, government fees, sometimes terminal or inspection charges. Whether it belongs in your revenue depends on whether you are acting as principal or agent for that item. This is accounting policy, and it varies by reporting framework, so treat what follows as orientation, not advice.
Under IFRS 15, paragraphs B34 to B38 ask whether an entity controls the specified good or service before it is transferred to the customer. A principal recognises revenue gross, an agent recognises only its fee or commission. The indicators in paragraph B37 are primary responsibility for fulfilling the promise, inventory risk, and discretion in setting the price. US GAAP reaches the same two outcomes through ASC 606-10-55-36 to 55-40, with indicators of the same shape after FASB's ASU 2016-08 clarifications. In both frameworks the indicators support a control assessment; they are not a checklist that decides it.
| Item | Points toward principal when | Points toward agent when |
|---|---|---|
| Ocean or air freight you sell as your own through-rate | You are responsible to the customer for the movement and set the sell price | You only introduce the customer to a carrier and take a fee |
| Customs duty and import VAT advanced | Rarely; the importer is normally the party liable to the authority | You pay the authority for the importer and bill the amount back at cost |
| Trucking, terminal and agent charges | You contract the supplier, carry the performance risk and set the price | The customer nominated the supplier and you only settle the invoice |
Two practical points follow. First, the answer can differ line by line on the same job: your own freight charge may be gross revenue while the duty you advanced is a pass-through. Second, whichever way your accountants conclude, the operational record is the same: pass-through items sit in their own section of the job file so they cannot distort job margin, and they are tracked as money owed to you until the customer pays.
That last point is the risk people forget. A disbursement is cash out the door on someone else's behalf, and if the customer does not pay, you have funded their duty bill. Large advances belong under the same credit limits and terms as freight (see net 30, 60 and 90 payment terms), and the first time you advance for a new customer is a good moment to ask for funds on account.
Revenue recognition for shipments in transit
The question forwarders hit every month-end is: a shipment sailed on the 28th and arrives on the 12th, so how much of its revenue and cost belongs in this month? Frameworks treat this under IFRS 15 and, in the United States, ASC 606. A service can be recognised over time if the customer receives and consumes the benefit as you perform, or at a point in time (for example on delivery). Both are used in practice. For example, Expeditors' annual reports on Form 10-K describe a single performance obligation per shipment, satisfied as services are completed over the life of the shipment (origin, freight, destination). Other forwarders recognise on departure or on delivery. The choice is a policy to be made with your accountants and applied consistently; a small forwarder should not copy a listed company's policy without checking that it fits its own contracts.
What matters operationally is the matching rule: whatever point you choose for revenue, accrue the cost of the same services on the same basis. A forwarder who recognises all revenue at departure but accrues only invoiced costs reports margin that does not exist.
The presentation of unbilled amounts also differs from receivables. Under IFRS 15 paragraphs 105 to 107, a receivable is an unconditional right to consideration (only the passage of time is needed before payment is due), while consideration earned for services already performed but not yet billable on a conditional basis is a contract asset. Practically: jobs delivered and not yet invoiced are a different number from overdue invoices, and your reports should show both.
Month-end cut-off checklist
- List every job open at month-end, with status (booked, sailed, arrived, delivered).
- For each, confirm which services have been performed to the cut-off date and accrue their cost, invoiced or not.
- Apply your revenue policy consistently to the same list and check that revenue and accrued cost cover the same services.
- Pull all jobs delivered but not invoiced and put them in the unbilled report below.
- Post foreign currency items at the period-end rate your policy requires (see currency risk in forwarder quotes for why the quote currency matters).
- Review supplier invoices received in the first days of next month: any that relate to services before cut-off belong in the old month.
Unbilled job aging
An unbilled job is cargo delivered, work done, and no sell invoice issued. It is the cheapest cash to collect (no dispute yet, the service was just performed) and the most commonly forgotten. An aging report for unbilled jobs works like a receivables aging, but starts at delivery rather than invoice date.
| Age since delivery | What to ask |
|---|---|
| 0 to 7 days | Is the invoice waiting on a missing supplier cost? Bill on estimate and true up later if your terms allow it. |
| 8 to 30 days | Who owns this job? Is a proof of delivery or customs document missing? |
| 31 to 60 days | Is a surcharge or accessorial outstanding, or is the customer waiting on a quote adjustment? |
| Over 60 days | Escalate. The longer a job sits, the harder a late invoice is to defend and the higher the chance a cost is also still unbooked. |
The bands are an example; set your own, and track the total value in each band monthly. There is no widely accepted published benchmark for how much unbilled work a forwarder should carry or how fast receivables should turn, so compare yourself with your own history rather than with a figure someone repeats online. The number to watch is the trend.
Carrier invoice reconciliation and where margin leaks
Reconciliation is a three-way match: what you were quoted or contracted (booking confirmation, rate sheet, service contract), what the carrier or supplier invoiced, and what you accrued and billed on the job file. Anything that does not match is either a supplier error or a charge you did not recover. Common leakage points:
- Missed accessorials. Chassis, gate fees, storage, pre-pull, driver wait time, overweight, hazardous handling, re-delivery. They appear on supplier invoices but not on the quote, so nobody recharges them. Build a standing list of accessorials to check on every job.
- Demurrage and detention. These can arrive long after delivery and are often the largest single surprise. In the United States, the Federal Maritime Commission's billing rule (46 CFR Part 541, effective 28 May 2024) says a billing party must invoice within 30 calendar days from when the charge was last incurred, and a billed party is not required to pay a charge invoiced later. A court set aside one section of that rule (541.4, on who may be invoiced) in September 2025; check the current text before relying on it. See the FMC demurrage and detention billing rules for the detail, and make sure the customer's contract lets you pass these charges on.
- Rate mismatches. The carrier bills a different rate, surcharge or currency from the one you booked, or an expired rate is applied. The fix is to attach the confirmed rate to the job and dispute within the carrier's window. Good rate negotiation with carriers is wasted if nobody checks the invoice against it.
- Duplicate and late invoices. The same charge billed twice, or an invoice for a job you closed months ago. Closing a job should mean its accruals are cleared, not that it is forgotten.
- Currency and rounding. A cost in one currency recharged in another at a different rate. Small per job, large over a year.
- Unrecovered pass-throughs. Duty or fees advanced and never billed because the job was closed before the statement went out.
Hold supplier invoices until they are matched to a job and to an accrual. A weekly review of unmatched supplier invoices and a monthly review of old accruals catches most of the above.
What to do next
- Make the job number mandatory on every sell and cost entry, and reject supplier invoices that cannot be tied to a job.
- Freeze estimated sell and cost when the quote is accepted, then review variance by job at least monthly.
- Write down your accrual and cut-off policy (what is accrued, when, and how old accruals are reviewed), and agree your revenue policy and principal or agent treatment of pass-throughs with your accountants.
- Add a pro forma and final statement step for any job where you advance duty, fees or third-party costs, with funds on account for new customers.
- Run an unbilled jobs report and a supplier invoice match every month, and trace each recurring leak to its cause.
Job costing is also a supplier selection tool: a carrier or agent whose invoices rarely match the quote costs you real time. More than 29,300 logistics companies are searchable by country and service in the CargoLinked directory, and the public requests board lists freight that shippers have posted for forwarders to quote on directly.
This article is general information for freight forwarders, not accounting, tax, legal or financial advice. Revenue recognition, principal versus agent conclusions, accrual policy and tax treatment of disbursements depend on your reporting framework (IFRS, US GAAP or local standards) and jurisdiction. Confirm your treatment with a qualified accountant and check current rules with the relevant standard setter or authority.



