Skip to content
Industry reportsAll articles

3PL Software: Multi-Tenant Architecture and Billing

3PL software is a multi-client warehouse platform with billing and client portals on top. Here's the multi-tenant architecture, the 3PL billing engine, the integrations, and what it takes to build.

Artem Zaitsev
Artem ZaitsevCTO · Idealogic
Author: Artem ZaitsevPublished: Updated: Reading time: 20 minHow we write →
On this page
Idealogic guide to how 3PL software works and how it is built

3PL software is the platform a third-party logistics provider runs to handle many clients' inventory, orders, and billing from a single system. Picture a warehouse that stores and ships goods for forty brands at once. Each brand has its own products, its own order flow, its own rules for how things get picked and packed, and its own invoice at month end. 3PL software keeps those forty operations separate inside one building and one codebase, and makes sure every client gets billed for exactly the work done on their behalf.

This guide is written from the builder's chair. Most pages that rank for 3PL software are vendor sites or "best 3PL software" lists that compare products without explaining how any of them work. This one covers the parts those skip, above all the two pieces of engineering that separate a 3PL platform from a plain warehouse system: the multi-tenant architecture and the billing engine. If you run a 3PL and are weighing a build, this is the framing we use.

The short version

  • 3PL software is a multi-client warehouse management system with a billing engine and a client portal on top, run by a third-party logistics provider to handle many brands' inventory, orders, and invoices from one platform.
  • The multi-tenant architecture is what lets one running instance serve many clients while keeping each client's stock, workflows, and data fully isolated, whether through row-level security, a schema per tenant, or a database per tenant.
  • The billing engine captures every billable event, from receiving and storage to picking, packing, and value-added services, prices each against the client's own rate card, and assembles recurring per-client invoices.
  • Storage is billed on either a calendar cycle, where all inventory is charged on a fixed date, or an anniversary cycle, where each item is charged from its own arrival date, which is fairer, more common, and harder to compute.
  • Integrations are the hard part at scale: EDI documents (the X12 850, 856, and 810), shopping-cart and marketplace connectors, and carrier APIs, all normalized into one internal data model.
  • Buy packaged 3PL software when your warehousing and billing are standard, and build custom when nonstandard billing, IP ownership, or margin pressure at scale means a product fights how you actually charge.

What 3PL software actually is, and who runs it

3PL software is the system a third-party logistics provider uses to manage many clients' inventory, orders, fulfillment, and billing from one platform. A third-party logistics provider, the 3PL, warehouses and ships goods on behalf of other businesses. The brands that hire it own the products; the 3PL owns the building, the labor, and the software. So the software has an unusual shape: it serves the 3PL's own floor staff and, at the same time, every client whose goods sit on the racks.

The cleanest way to define it is by composition. 3PL software, sometimes called third party logistics software, is a multi-client warehouse management system plus a billing engine plus a client portal. The warehouse system runs the physical work of receiving, storing, picking, and shipping. The billing engine turns that activity into money owed, per client, every cycle. The portal gives each client a window into their own inventory, orders, and invoices without seeing anyone else's. Take any one away and you no longer have 3PL software. You have a warehouse tool, an invoicing tool, or a dashboard, none of which runs a 3PL alone.

That composition tells you why it is hard. The operator runs the platform as a business, and its margin lives inside the software's accuracy. Undercharge for storage across forty clients and the provider loses money every month. Misplace one client's stock against another's and trust evaporates.

3PL software vs a standard WMS: the engineering line

3PL software is a multi-client warehouse management system with billing and a client-facing layer added, so the engineering line is exactly those additions. A standard WMS assumes one operator who owns everything in the building: one set of rules, one set of users, and no need to bill anyone, because the warehouse serves its own company. We cover how a single-tenant WMS is built end to end in our warehouse management system development guide, and that depth is the baseline a 3PL platform stands on, so this section stays short.

Three layers turn that baseline into 3PL software. A tenancy layer keeps each client's inventory, orders, catalog, and configuration isolated, so two clients can store identical SKUs without colliding. A billing engine captures every billable action and converts it into per-client invoices, which a normal WMS has no concept of. A client-facing portal exposes each client's own data under controlled access. Build those three on a solid WMS and you have a 3PL platform. Tenancy and billing are where most of the work and the risk live, so they get a full section each next.

The multi-tenant architecture behind 3PL software

Multi-tenant architecture is the design that lets one running instance of 3PL software serve many clients while keeping each client's data and behavior fully separated. This is the flagship engineering decision in any 3PL platform, because it shapes isolation, performance, cost, and how hard the system is to operate for years. The tenant here is the client brand whose goods the 3PL stores, and every query, screen, and report has to answer one question first: which tenant is this, and show only their world.

The first choice is the tenancy model, and three are common, each trading isolation against operational cost. A shared database with PostgreSQL row-level security keeps all tenants in one schema, tags every row with a tenant ID, and lets the database enforce that a query only returns the caller's rows: cheapest to run, easiest to scale to many small clients, at the cost of airtight isolation logic. A schema-per-tenant model gives each client its own schema inside a shared database, which strengthens separation and makes per-client export cleaner, but gets unwieldy past a few hundred tenants. A database-per-tenant model gives each client a dedicated database, the strongest isolation and the natural fit for a large enterprise client with heavy volume or strict data rules, at the highest operational cost. Most platforms mix these: shared-database for the long tail of small clients, a dedicated database for the few large ones. For the deeper SaaS-tenancy treatment, see our guide to multi-tenant SaaS architecture.

Each layer carries the tenant context so one platform serves many clients without their data mixing
Layer or concernRoleIsolation approach
Tenant routingIdentify which client every request belongs toTenant context resolved at sign-in and carried on every call
Inventory and catalog dataHold each client's SKUs, stock, and locationsRow-level security or separate schema, keyed by tenant
Workflow and SLA configApply each client's own picking, packing, and service rulesPer-tenant configuration, no shared mutable defaults
Billing dataAttribute every billable event to the right clientTenant ID on every event, reconciled per client per cycle

Two problems sit on top of the model choice. The first is the noisy-neighbor problem: in any shared setup, one client's heavy load, a giant import or a peak-season surge, can starve everyone else. You contain it with per-tenant rate limits, query budgets, and the option to lift the heaviest tenants onto dedicated infrastructure. The second is per-client configuration. One client wants two-hour pick-and-pack with a hard SLA, another wants cheap batch shipping once a day. The platform encodes those as per-tenant settings, never hardcoded defaults, so a new client onboards by configuration rather than a code change. Get this right and the architecture quietly carries hundreds of clients; get it wrong and the platform leaks data or grinds under load, which is why this layer is built first and tested hardest.

The 3PL billing engine: how providers actually get paid

The 3PL billing engine is the part of the platform that captures everything done for a client and turns it into an invoice. This is where a 3PL makes or loses money, so it is the second piece of real engineering that separates 3PL software from a warehouse tool. The trap is that the work is invisible until it is billed: a pallet sat in a bin for nineteen days, a picker touched two hundred lines, a client asked for kitting on a promotion. If the software does not capture each as a billable event the moment it happens, the revenue is gone.

So the engine starts with billable-event capture. Every operation that costs the provider money emits an event tagged to a client: a receipt logged, a unit stored, a pick performed, a carton packed, a value-added service completed. Those events flow into a rating engine that prices each against the client's contract. Pricing is not uniform, which is the whole difficulty. Storage might bill per pallet, per bin, or per cubic foot; handling per order, per line, or per item. Value-added services (labeling, kitting, gift wrap, returns processing) bill on their own terms, and accessorials cover the irregular extras. The table lays out the main charge families.

A 3PL invoice is the sum of several charge families, each with its own basis
Charge typeBilling basisExample
StoragePer pallet, per bin, or per cubic foot, per cycle120 pallets stored for the month at the client's pallet rate
HandlingPer order, per line, or per itemA pick fee on each of 800 order lines shipped
Value-added servicesPer unit or per task, by serviceLabeling and kitting on a 5,000-unit promotion run
AccessorialPer occurrence, one-offA pallet-wrap fee and a special-handling charge

Two more details decide whether the engine is correct. The first is per-client rate cards: every client has its own negotiated prices for every charge type, so the rating engine is really a lookup against that client's contract, not a global price list. The second is the storage billing cycle, where 3PLs split into two camps. Calendar billing charges all stored inventory on a fixed date, say the first of the month, which is simple but rough. Anniversary billing charges each item from its own arrival date, so a unit received on the twelfth bills in periods starting on the twelfth, which is fairer, far more common, and harder to compute. On top sits recurring invoicing, the scheduled job that gathers a cycle's rated events per client and produces the invoice. This is what 3PL billing software is, and we treat it as the heart of any 3PL build, because an elegant warehouse with a sloppy billing engine still bleeds margin.

The API call that moves a pallet is the easy hour. Capturing that move as a billable event, rating it against the right client's contract, and proving the invoice at month end is the build. A 3PL platform is a billing system that happens to run a warehouse.

Client portals and self-service visibility

A 3PL client portal is the self-service interface where each client sees and acts on their own inventory, orders, and invoices without contacting the provider. It is the third leg of the platform, and it turns a 3PL from a black box into a product clients trust. Before portals, a client emailed to ask stock levels and waited for someone to check. The portal replaces that with a live window, which cuts the provider's support load and is increasingly what clients expect before they sign.

A useful portal carries four things. Order placement lets a client submit outbound orders or inbound receipts directly, which flow into the warehouse queue. Inventory transparency shows real-time stock by SKU and location. Billing transparency exposes invoices and the activity behind them, so a charge can be traced to the work that produced it, which heads off most disputes. Role-based access controls who inside the client's company can see and do what, separating a warehouse manager who places orders from a finance user who only reads invoices. One more capability matters commercially: white-label branding, so the portal wears the client's logo rather than the provider's. For a 3PL selling to brand-conscious customers, a portal that looks like the client's own software is a real differentiator, and a common reason a provider outgrows an off-the-shelf product and builds.

Core operational features of a 3PL platform

The operational core of a 3PL platform is the multi-client warehouse engine that runs goods from arrival to dispatch. This is shared ground with any warehouse system, so it stays short, with the 3PL twist being that every function is multi-client and every move is potentially billable. Receiving logs inbound goods against the right client and scans each pallet's GS1 Serial Shipping Container Code (SSCC). Putaway directs stock to locations, keeping each client's inventory separable. Multi-client inventory is the running truth of who owns what and where, the feature a single-tenant WMS lacks. Picking pulls stock using wave or batch strategies that group work across many clients' orders at once. Order routing decides how omnichannel demand gets fulfilled and in what sequence, emitting GS1 EPCIS 2.0 (ISO/IEC 19987) scan events at every step. Returns handle the reverse flow, inspecting and restocking goods.

Several neighboring modules connect directly to this core and have their depth in dedicated guides. Order capture and orchestration across channels is covered in our order management system article, while upstream inventory replenishment targets come from supply chain planning software. Outbound linehaul and carrier tendering hand off to a transportation management system, private-fleet dispatch connects with fleet management software, local customer drop-offs run on last-mile delivery software, and live in-transit tracking feeds supply chain visibility software. When a 3PL is one module inside a broader operation that also moves freight, that umbrella is the subject of our logistics management software guide. The point here is only to place the operational layer: necessary, largely standard warehouse engineering, and not where a 3PL platform wins or loses. Tenancy and billing are.

Mapping the modules for a 3PL build?
We scope the tenancy model, the billing engine, and the integration surface against your actual client mix before any code is written.
Scope the build

Integrations at multi-client scale: EDI, carts, marketplaces, carriers

Integration in 3PL software is the work of connecting the platform to every client's selling and supply systems, at the scale of many clients at once. This surface is what makes a 3PL platform genuinely hard, and the difficulty is not any single connection. It is that each client arrives with a different stack, and the platform has to absorb all of them into one consistent internal model. The right starting posture is API-first: a clean, documented internal API that every integration maps onto, so adding a client means writing an adapter, not surgery on the core.

The connections fall into four groups. EDI carries traffic from established trading partners, especially when a client sells into big-box retail. Electronic data interchange runs on standardized document formats, and the most relevant in North America are the ASC X12 EDI transaction sets: the 940 warehouse shipping order and 945 warehouse shipping advice for depositor instructions, the 850 purchase order that tells the 3PL what a buyer ordered, the 856 advance ship notice that declares what is shipping and how it is packed, and the 810 invoice that bills for it, while European and cross-border accounts exchange UN/EDIFACT DESADV, IFTMIN, and IFTSTA messages. Per-client EDI mapping is its own grind, because two clients using the same 850 or 940 will populate it differently. Shopping-cart and marketplace connectors pull e-commerce orders from platforms like Shopify, BigCommerce, Amazon, and eBay. Carrier and multimodal integration handles parcel and LTL rate-shopping, ocean container tracking over DCSA standards, air cargo milestones via IATA ONE Record, drayage and trucking hours-of-service compliance under FMCSA 49 CFR Part 395, and digital transport regulatory reporting under the EU eFTI Regulation (Regulation (EU) 2020/1056). The recurring theme across all four is normalization: dozens of clients, dozens of formats, one internal representation. A 3PL platform that nails normalization onboards new clients fast, and that speed is a competitive edge in its own right.

3PL warehouse management software in practice: the operating model

3PL warehouse management software in practice is the platform mapped onto the four-stage rhythm a 3PL lives by: onboard a client, receive their goods, fulfill their orders, invoice for the work. Seeing the software through that operating model is the clearest way to understand why each piece exists. This is the same system people call a 3PL WMS or 3PL fulfillment software, named for whichever stage they touch most.

It starts with client onboarding. A new client is provisioned as a tenant: catalog loaded, warehouse and SLA rules configured, rate card entered into the billing engine, integrations wired up. Done well, this is configuration, not engineering, which is the payoff of the multi-tenant work. Then comes receiving, where inbound stock arrives, often announced by an 856 advance ship notice, gets checked in against the client's inventory, and emits the first billable events. Fulfillment is the daily engine: orders arrive through the portal, cart connectors, or EDI, get picked in waves across clients, packed, rate-shopped to a carrier, and shipped, each action logged and tagged to its client. Finally, invoicing runs on the cycle: the billing engine gathers every rated event per client and produces the invoice, calendar or anniversary, that closes the loop. The whole platform exists to make that four-stage loop run accurately for many clients at once, which is the definition of a 3PL.

Build vs buy: when off-the-shelf 3PL software is enough

The build-versus-buy decision for 3PL software comes down to whether your operation fits the shape a packaged platform assumes or breaks it. This section is honest rather than a funnel, because for a large share of 3PLs, buying is the right call. Packaged platforms exist (Extensiv, Logiwa, Deposco, CartonCloud, ShipHero, Magaya and others occupy this market), and they cover standard multi-client warehousing and billing well enough that a conventional operation should usually start there: faster to launch, cheaper up front, maintained by someone else.

Buying fits when your warehousing and billing look like everybody else's: standard charge types, standard workflows, a client mix the product was designed for. The triggers for custom are specific. The first is nonstandard billing: if your pricing model does not fit a packaged product's rate-card structure, you run spreadsheets alongside the software to compute what it cannot, the exact margin leak the software was meant to prevent. The second is IP ownership: if the platform is the product you sell, you want to own it rather than rent capabilities every competitor on the same vendor also has. The third is margin at scale: past a certain volume, per-order or per-user fees can exceed what a custom build costs to operate, and the economics flip. The figure frames the three options.

Three options, separated by what you own and the operation each one fits
OptionWhat you ownBest when
Packaged platformA subscription and your configurationStandard warehousing and billing, conventional client mix
Packaged plus extensionsConfig plus some custom integrations or add-onsMostly standard, with a few gaps a product cannot close
Custom buildThe full codebase, data model, and roadmapNonstandard billing, IP ownership, or margin pressure at scale

The realistic path for many providers is to start packaged, run until a product blocks how they actually charge or compete, and build the part that is blocked rather than the whole platform at once. Buy the commodity, build the differentiator. The differentiator in a 3PL is almost always the billing engine or a workflow the packaged tools cannot bend to.

What custom 3PL software costs to build

The cost of custom 3PL software is driven by how many modules you build and how deep each goes, so the only honest way to talk about it is by module and scope tier, not a single figure. The four modules from this guide map onto cost. A multi-client warehouse core is the base every build needs. The billing engine, with per-client rate cards, rating logic, anniversary storage math, and recurring invoicing, is the most intricate and valuable module, usually the largest single line. Client portals add work in proportion to how much self-service and white-labeling you want. The integration surface scales almost linearly with the connections: each EDI partner, cart, marketplace, and carrier is its own adapter and its own testing.

That gives a natural set of tiers. A lean build is the warehouse core plus a basic billing engine and a single integration path, enough to run a small 3PL with a uniform client base. A mid tier adds a full billing engine with multiple charge types and storage cycles, a real portal, and a handful of integrations. A heavy tier layers on broad EDI coverage, many cart and marketplace connectors, deep white-label portals, and advanced billing, where large 3PLs land. The two biggest levers are billing complexity and integration count, and they are the ones to pin down first. We avoid quoting dollar figures, because a real number comes only from scope. For the full mechanics, our supply chain software cost guide lays out the drivers.

For grounding, the worth-building case rests on a real market. The annual Third-Party Logistics Study (produced by NTT DATA with Penske Logistics) consistently reports high mutual satisfaction between shippers and their 3PLs, and treats information technology as a capability shippers expect from a provider. That signals demand for the software, while keeping a clear line: the 3PL services market is measured in the trillions, but the 3PL software market this article is about is a far smaller slice, and the two should never be conflated. A 3PL build is justified by your own economics, the margin the billing engine protects and the IP you own, not by the size of the freight market.

When a custom build is the answer, it sits inside our custom software development and product development practices, and a scoped discovery against the logistics and supply chain team is how a real estimate gets made. Our own logistics work shows the multi-tenant and platform engineering this demands: HaulBreeze, a supply chain platform we built from scratch on a single data layer with automated transactions and compliance tooling; Conveya, an auto-transport platform we rebuilt end to end with real-time tracking; and Pikk-Up, a two-sided logistics marketplace with geolocation matching and in-app payments. Different products, the same discipline a 3PL platform needs.

Building a 3PL platform? Get the multi-tenant architecture and billing engine right from the start
Scope your logistics build

Occasional field notes on building software, no spam

Protected by Cloudflare Turnstile · Privacy · Terms

Artem Zaitsev
Artem ZaitsevCTO · Idealogic Development OÜ

CTO and Co-founder at Idealogic. Directing engineering, systems architecture, security, and full-stack delivery across web, mobile, and blockchain.

Frequently asked questions

  • A standard WMS runs one operator's warehouse, while 3PL software manages many clients' inventory inside one platform with billing on top. Three engineering additions define the line: a multi-tenant layer that isolates each client's stock, orders, and rules; a billing engine that captures billable events and turns them into per-client invoices; and a client portal giving each brand self-service visibility into its own data.

  • 3PL billing software is the engine inside a 3PL platform that turns warehouse activity into recurring invoices. It captures billable events as work happens across receiving, storage, picking, packing, and value-added services, prices each event against the client's contracted rate card, and computes storage on either a monthly calendar cycle or an item-arrival anniversary cycle while appending one-off accessorial fees.

  • A 3PL WMS is a warehouse management system engineered to run dozens of client brands simultaneously inside shared facilities. Unlike a single-tenant WMS that assumes one owner for all inventory, a 3PL WMS enforces multi-client stock separation, per-client workflow and SLA rules, white-label packing slips, and real-time event emission into the billing engine so every pallet move and pick line is charged.

  • Buy packaged 3PL software when your operation fits standard warehousing and rate-card templates, and build custom software when your billing logic or fulfillment workflow is what wins and retains clients. Most providers launch on an off-the-shelf platform and build custom software or extensions once nonstandard anniversary billing, margin leakage from manual spreadsheet workarounds, or per-order vendor fees outweigh the build investment.

  • Cost scales by module depth and integration count rather than a flat price. A multi-client warehouse core is the baseline, while the billing engine with per-client rate cards, anniversary storage math, and automated invoicing is the highest-value module. Client portals and the integration surface across EDI X12 partners, shopping carts, marketplaces, and parcel carriers drive the remaining scope based on connector volume.

  • 3PL software must connect to every client's commerce and retail channels simultaneously. That requires ASC X12 EDI transactions including 940 warehouse shipping orders, 945 shipping advices, 850 purchase orders, 856 advance ship notices, and 810 invoices, alongside REST connectors for Shopify, Amazon, and ERP systems plus parcel and LTL carrier APIs, all normalized into one internal data model.

  • Calendar storage billing snapshots all inventory on a fixed date, such as the first of the month, and charges a flat monthly rate or pro-rata split. Anniversary storage billing tracks the exact receipt timestamp of every pallet or lot and charges recurring 30-day intervals from arrival, requiring the database to maintain lot-level ledger histories across partial picks and bin consolidations.

  • Multi-tenant 3PL platforms enforce tenant isolation at the database layer using PostgreSQL row-level security policies keyed to the authenticated tenant ID, or dedicated schemas and databases for enterprise accounts. To stop one brand's flash-sale order surge or bulk EDI import from degrading floor scanners for other clients, the ingestion layer applies per-tenant rate limits, partitioned message queues, and isolated worker pools.

Still unanswered
Ask us directly

A senior engineer replies under 4 hours.