Trakline
Multi-tenant subscription delivery in one Odoo database: catalog, orders, routes, billing.
The short answer
Trakline is a free, LGPL-3 Odoo app for subscription delivery operators running more than one business in one database. Platform, vendor group, vendor and sub-vendor are company types arranged as a tree, and every business model inherits a tenant mixin, so isolation is a company-scoped record rule rather than a habit. Catalog, orders, subscriptions, routes, drivers, returnable containers and billing all live in the same model set.
Last updated
What it is for
A subscription delivery business is a stack of products pretending to be one. Catalog here, orders there, routes in a third place, driver attendance in a spreadsheet and billing reconciled by hand at month end. Each piece works on its own. The joins between them are where the business actually lives, and they are held together by people remembering things. The multi-vendor version is worse: an operator with vendor groups underneath, each with their own vendors, either runs a database per tenant and upgrades them forever, or runs one database and hopes nobody queries across the boundary.
- Platform
- Odoo
- Category
- Field service
- Works with
- Odoo 19
- Technical name
trakline- Status
- Direct from webbox
- Pricing
- Free
What is inside it
- 01
Tenancy
Every business model inherits a tenant mixin giving it a company and a root vendor group, so isolation is a record rule. The dashboard runs as the user, not a superuser, so a broken rule shows on the board first.
- 02
Orders
A cart checkout and a recurring subscription line both become the same commerce order, which makes fulfilment a single number. Subscriptions carry their own cycle, and pause, resume and renewal are states rather than diary entries.
- 03
Verticals
Cattle farms, water cans and gas cylinders ship as first-class models instead of a pile of custom fields on a partner, because a returnable asset is its own problem.
- 04
The board
Six tiles across the platform, obeying the same tenant rules as everything else, so a vendor opening it sees their own book. Orders by channel puts cart, manual and subscription on one ledger.
What it looks like in practice
-
A vendor opens the board and must see only their own book
Several vendors and sub-vendors trade inside the same database, and one of them opens the overview.
The dashboard queries as the logged-in user instead of escalating, so the company record rules that fence orders, routes, drivers and invoices bound every tile as well. Clicking a tile opens the orders it counted, under those same rules.
- Orders
- 81
- Delivered
- 53
- Fulfillment rate
- 65.4%
Figures from the module's own demo data, on a fresh install. Install with demo data; the overview opens populated across every tenant.
TenancyThe board
-
A standing weekly line and a walk-up cart land on the same ledger
A recurring order and a one-off checkout both need fulfilling on the same day, and somebody has to report one fulfilment figure.
Both become the same commerce order, so fulfilment is one number rather than two half-numbers added up by whoever knows the difference. The subscription holds its cycle and generates its order when the cycle comes round.
- Active subscriptions
- 11
- Revenue
- $2.1k
- Average order value
- $26
Figures from the module's own demo data, on a fresh install. On a demo install, open Orders and group by channel.
OrdersThe board
-
A retired module is already sitting in the target database
The database you want this in still carries one of the older single-purpose modules that this one replaces.
Their table names are near-identical, so the install aborts on a duplicate key instead of half-migrating. The retired modules remain in the tree marked uninstallable, for migration reference only.
Behaviour of the shipped code.
Tenancy
What it deliberately does not do
- Do not install a retired trakop module beside it
- This module supersedes seventeen of them and their table names are near-identical, so the install aborts on a duplicate key. They stay in the tree marked uninstallable, for migration reference only.
- Odoo 19 only
- There is no 18.0 branch of this module today. If you are on 18, this is not yet portable to you.
- No route optimisation engine
- Routes, stops and batches are modelled and dispatchable. Choosing the best sequence for a day's driving is not solved here.
- No payment gateway
- Wallets, payments, refunds and reconciliation are modelled. Taking the money is your provider's job.
Questions
Can I install this on Odoo Online?
Can I install it next to the older trakop modules?
Is there a licence key or an activation form?
Does it run on Odoo 18?
Have something to build?
Tell us the problem. We'll come back with a plan, a price, and who'd actually build it.
- Free scoping call
- Reply within 1 business day
- No lock-in