3PL Onboarding: Multi-Client Structure and Billing Setup
Last updated 2026-10-13
How a third-party logistics operator sets up merchants, per-client warehouse strategies, rate cards, and brings a new client live.

This guide is for third-party logistics operators running a multi-client warehouse on Docklify. It covers three things: how to structure your merchants (clients), how to set up billing, and the checklist for bringing a new client live.
Step 1: Set up your multi-client structure#
- Create a merchant profile for each client (WMS → Merchants). In 3PL mode, receipts, purchase orders and ASNs must specify a merchant, so get this right from day one.
- On the merchant detail page (Setting tab), configure per-client warehouse strategies: a putaway strategy (6 options, default Smart) and an allocation strategy (default pick-face-first; use FEFO for expiry-sensitive goods).
- Give each merchant its own storage footprint: assign dedicated locations (location customer) or use location groups with location-group mappings matched by warehouse, merchant and product attributes (hazmat, refrigerated, frozen, fragile, high value).
- Scope operator skills by merchant where needed: each work skill (receiving, putaway, pick, pack, ship, load, count) can be limited to specific merchants; leave empty to allow all merchants.
Step 2: Set up billing (the four building blocks)#
- Billing items (WMS → Billing → Items): create charge codes with one of 8 categories (storage, inbound, outbound, pick, pack, value-added, freight, other) and one of 6 pricing methods (per pallet-day, per unit, per order, per weight, per cubic ft, flat), plus unit price and currency (default USD).
- Rate sheets (Billing → Rate Sheets): one global sheet for all merchants, or one sheet per merchant; versions carry effective and expiry dates, and each line can override the item price.
- Merchant billing rules (Billing → Rules): exactly one active rule per merchant, pointing at the rate sheet that applies to them. Switching versions means pointing the rule at a new sheet.
- Generate the statement via the billing API (POST /api/wms/billing/invoices/generate) with merchant, period and quantities. Invoices are numbered like MINV-000001 and start in draft status.

Billing limits to plan around: usage quantities (pallet-days, units handled) must be tallied and passed in manually — the system does not auto-collect them from inventory or task data. Generated statements stay in draft (there is no sent/paid workflow yet and no desktop generate page), and they are not posted to accounting AR. If you need automated metering, check with your customer success manager.
Step 3: Bring a new client live#
- Finish the merchant profile, warehouse strategies and billing rule for the new client (steps 1–2 above).
- Connect order intake: OMS manual orders, Excel/CSV import, channel pull, or let the client create orders themselves through the Merchant Portal.
- Set the warehouse receiving mode (desktop receiving, mobile receive tasks, or both) and wave release (manual or scheduled) for the client’s volume.
- Run one full order end to end (receive → pick → ship → statement) and confirm rates and strategies look right before migrating the client’s inventory in bulk.
- Optional: Label Flow — resell your discounted carrier accounts to the client with merchant-level rate overrides and a prepaid merchant wallet.
Keep one page of notes per client: which strategies they use and which rate sheet version applies. Switching versions only changes the rule’s rate_sheet_id, and every statement carries a rate-sheet snapshot so amounts can always be recalculated.