Skip to content
faceela

Who told that man which bin to walk to?

Logix runs a warehouse, a fleet and a forwarding desk on one event stream: the operator given his next task rather than sent to find it, the pallet as the thing that moves, every unit of stock carrying the name of whoever owns it, and the invoice built from the work the operation actually recorded. Thirty modules, more than four thousand automated tests, and we put it in ourselves.

LogixWarehousing, transport and freight forwarding on Odoo · 30 modules on Odoo 19

The distinction that matters

What Odoo's own Inventory has to do with this

All of it stays. Logix does not replace a single core flow — it inherits them. Receipts are still receipts, quants are still quants, valuation is still core valuation, and the accounting a transfer posts is the accounting Odoo posted before we arrived. A suite that reimplements stock beside stock leaves you reconciling two truths, and we would rather not sell you that job.

What core Inventory does not do is dispatch. An operator opens a list of transfers and picks one — which means the order of work is decided by whoever is fastest at reading a screen, the walk path is whatever he feels like, and nobody can tell you how long a putaway is supposed to take. That gap between Odoo out of the box and an SAP EWM or an Oracle WMS is not a feature list, it is one idea: work is given out, not hunted. Closing it is what most of this suite is for.

The second thing it does not do is treat the pallet as the object. Core moves lines. So the question every warehouse manager asks twenty times a day — what is on that pallet — has no answer short of going and looking. Cross-docking, one-scan moves and 3PL all fall out of the same missing idea, which is why we made the handling unit the unit of movement everywhere rather than in one screen.

The third is the owner. A quant in core Odoo belongs to the company. A warehouse that cannot hold client A's stock apart from client B's is not a third-party warehouse, whatever the contract says — and a third-party warehouse that cannot bill from its own movements ends up billing from a spreadsheet somebody rebuilds on the third of every month. Logix puts an owner on the quant, a record rule behind it, and the billing engine on top of the same events the operation already produced.

How it runs

The chain, from a booking to a settled invoice

Three operations share one spine — the warehouse, the vehicle and the file — because a forwarder who stores what he ships and delivers what he stores should not be reconciling three systems at month end.

  1. 1The dock appointment: a slot on a door that can actually take the load, with gate-in and gate-out timestamped, so detention is a measured fact rather than an argument.
  2. 2The receipt against an advice: over, short and damaged each raise their own coded exception and each exception lands on a named person as a real activity.
  3. 3Putaway directed by a rule table read in sequence, first match wins — and when no bin qualifies, an exception rather than a default. The strategy is a row a customer can add, never a patch he has to ask us for.
  4. 4The handling unit: nested, weighed, labelled with a real SSCC-18 whose check digit comes from Odoo's own barcode helper, and carrying an owner from the moment it exists.
  5. 5Holds that suppress availability in place — on a lot, a unit, a bin or an owner — so blocked stock keeps its location history and FEFO keeps working.
  6. 6Quality inspection on inbound and on putaway, disposing to that same hold layer rather than to a second one built beside it.
  7. 7The task engine: one screen, next job, sized into a work order by count, time, weight and volume, with a putaway interleaved on the way back from a pick when it is genuinely on the walk path.
  8. 8Every directed move confirmed by scanning the bin's check digit. A confirm button with no scan proves the operator pressed a button, not that he stood where the system sent him.
  9. 9Cycle counting blind: the counter never sees the expected figure, a variance inside tolerance posts itself, and one outside it goes to somebody who is not the counter.
  10. 10Replenishment raised when a pick crosses the minimum — once, not once per pick — and an empty pick face raising both a replenishment and an opportunistic count, which is the cheapest accurate count there is.
  11. 11The wave: selected by rule rather than by hand, allocated full unit before broken, cartonized before the picker walks so packing verifies a decision instead of making one.
  12. 12Value-added work — kitting, labelling, re-packing — as billable warehouse tasks with the labour attributed to the order that caused it.
  13. 13The trip: transport demand separated from the vehicle that satisfies it, so consolidation and multi-leg are ordinary rather than bolted on, and rated off a lane card instead of a formula in code.
  14. 14Proof of delivery captured on a phone that was offline, replayed exactly once on reconnect, immutable afterwards — a correction is a new record with a reason on it.
  15. 15Last mile: zones, attempts, the return-to-origin policy that fires exactly once, and cash on delivery that posts a liability and clears it on remittance.
  16. 16The forwarding file: chargeable weight by air volumetric and by LCL revenue tonne, customs with duty and excise and VAT assessed on the right base, and master-to-house cost allocation that sums to the master cost with no rounding leak.
  17. 17Job costing where a charge is priced on the basis its charge code names — a documentation fee stays a documentation fee whatever the tonnage — and a supplier invoice outside tolerance raises an exception while the file is still open.
  18. 18The 3PL billing run: storage, handling, value-added work and accessorials computed from the same tasks and movements the operation recorded, idempotent, with a leakage report that reads zero on a period that was fully billed.

The refusals

The eight things it refuses to do

Every refusal below is a state transition the code declines and a test proves it declines. The suite carries more than four thousand of them, and none of this is a line in a procedure manual.

  • RefusesNesting one owner's pallet inside another owner's

    The moment two clients' goods share a handling unit, the segregation the whole 3PL contract rests on is gone — and it goes silently, because the stock figures still add up.

  • RefusesShowing the counter the number he is counting to

    A count against a visible expectation is a confirmation, not a count. And the person who counted may not approve his own variance: one man alone with a discrepancy is how shrinkage becomes an adjustment nobody reviewed.

  • RefusesPicking a lot that expires inside the customer's shelf-life window

    FEFO would happily take it — it is the earliest expiry on the shelf. But a customer who contracted for sixty days left will reject it at his door, and the cost of that is the delivery, the return and the write-off, not the pick.

  • RefusesPutting away to a bin nothing actually chose

    When the strategy table runs out of candidates the honest answer is an exception on somebody's list, not the first bin that fits. A default here is how a pallet of frozen goods ends up in an ambient aisle with a location record that says it was fine.

  • RefusesTwo appointments on one dock, or a load on a door that cannot handle it

    A double-booked door is a truck idling in the yard on your detention clock. A reefer load on a door with no power is the same truck, plus the cargo.

  • RefusesLoading a vehicle that cannot carry it

    Over capacity, or a temperature-controlled load on a vehicle with no unit. Both are caught at planning, where the fix is choosing a different truck, rather than at the gate, where the fix is a phone call.

  • RefusesConverting an expired quotation, or closing a lost one with no reason

    An expired rate converted into a job is a shipment moving at last quarter's cost. And a lost quote with no reason on it makes the quote-to-book ratio a number with a dishonest denominator — which is worse than not measuring it.

  • RefusesReleasing a customs entry with no payment reference on it

    Goods released against an assessment nobody paid is an exposure that surfaces at audit, long after the file was closed and the margin was reported. The manager's override exists, and it raises its own exception with an activity attached, so it chases itself.

Honest limits

What it deliberately does not do

It does not solve the routing problem. Logix plans a trip, sequences its legs and rates it; it does not run a vehicle-routing optimiser in process. Where a customer already has one, the telematics module is the seam it feeds through. Selling you an in-house solver we would then have to defend against a specialist is not a favour.

It does not rank your operators against each other. Labour standards exist, actual against standard is computed per task type, and indirect time lands in its own category so the denominator is honest — but there is no view, no report and no export that puts operator names in order of performance. That is a design decision, and if a league table is what you are buying, buy something else.

It does not add a second quality engine. Odoo Enterprise's own quality module is sufficient and already wired into stock; Logix adds inspection triggers on inbound and putaway and disposes failures into its hold layer. Two inspection engines in one database is two answers to one question.

It needs Odoo Enterprise. Two of the thirty modules depend on it — the quality module and the barcode module — and no amount of arranging gets around it. Everything else in the suite is ours.

It is more warehouse than a small warehouse needs. There are three levels — basic, binned and directed — and every feature respects the one you set, so a three-person operation is not forced into scan-confirmed directed work. But if you have one store, one van and no client but yourself, this is the wrong purchase and we will say so.

Questions

What buyers ask us first

Who is running it?

A French-African freight operator, live across four countries. We are not able to name them here — that is their call, not ours, and until they make it an unnamed fact is worth more than an invented logo.

Does it need Odoo Enterprise?

Yes, for two of the thirty modules: the RF terminal builds on Odoo's barcode module and the inspection module builds on Odoo's quality module. Both are Enterprise. We tell buyers this before a quotation rather than after one.

Do we have to take all thirty?

No. Every module installs alone on a fresh database — that is a gate we run, not a hope. A warehouse with no fleet takes the warehouse half; a forwarder with no warehouse takes the file, the customs and the costing. The suite is also graduated: a warehouse runs at basic, binned or directed, and directed is what turns on scan-confirmed task dispatch.

Is this a WMS, a TMS or a forwarding system?

All three, on one event stream. That is the actual reason to buy it. A forwarder who stores what he ships usually runs a warehouse package, a transport package and a forwarding package, and spends the last week of every month deciding which of the three is telling the truth. Here the trip, the task and the file all write to the same milestone log, and the invoice is computed from it.

How do we know it works?

The suite carries more than four thousand automated tests, and the release gate is not that they pass on somebody's laptop — it is that the addons package, install from those packages onto a database created that minute, and finish with zero warnings and zero failures. Ask any vendor for the same and watch what happens.

What should we make any vendor prove on their own demo?

Four things, live. Give an operator his next task without him searching for it, and refuse the confirmation when he scans the wrong bin. Show me what is on that pallet without a stock take. Show me client A's stock and prove client B's login cannot see it. Then produce this month's storage and handling invoice from the movements alone, with nothing typed in. The fourth one is where most demos end.

Logix

See it on your own numbers

A walkthrough on a database seeded with a portfolio, not a slideshow. Bring one tenancy, one owner and one argument you have had with a spreadsheet, and we will show you where each of them lands.

Monday to Friday, 9:00 AM – 6:00 PM (GST)

Prefer we call you?

Leave your WhatsApp number and we will reach out.

We reply on WhatsApp first. Include your country code.

No newsletter, no reselling your number. We use it to reply to you — see our privacy policy.

WhatsApp us