Skip to content

Master Data Setup

Before processing any inbound or outbound transactions, you need to configure the foundational master data. Follow these steps in order — each step builds on the previous one.

Setup Checklist

  • [ ] Create 3PL Clients (Customers)
  • [ ] Create Warehouses and Zones
  • [ ] Create Warehouse Locations (bins)
  • [ ] Create Items with 3PL fields
  • [ ] Create Client Items (SKU mappings)
  • [ ] Create Inventory Policies
  • [ ] Create Rate Cards

Step 1: Create a 3PL Client

A 3PL client is a standard ERPNext Customer with the is_3pl_client flag enabled. Every inventory transaction, billing event, and policy rule is scoped to a client.

How to Create

  1. Go to CRM → Customer → New
  2. Fill in the standard customer fields (Customer Name, Customer Group, Territory)
  3. Enable the Is 3PL Client checkbox
  4. Set a short Client Code (used in document numbering, e.g., TGEAR for TechGear Inc)
  5. Leave Default Rate Card blank for now — you will link it after creating the rate card

Key Fields

FieldRequiredNotes
Customer NameYesFull legal name of the client
Customer GroupYesUse "3PL Client" group for easy filtering
Is 3PL ClientYesMust be checked — enables 3PL features
Client CodeYesShort 4–6 char code, used in document IDs
Default Rate CardNoLink after Rate Card is created

Client Form

WARNING

The Is 3PL Client checkbox must be enabled, or the customer will not appear in Client Order, ASN, and Billing Transaction selectors.

Test Data

The system ships with two test clients:

  • TechGear Inc (TGEAR) — ambient electronics
  • FreshFoods Co (FRESH) — temperature-controlled food products

Step 2: Create Warehouses

Warehouses in ERPNext map to physical storage zones in your facility. For a 3PL, you typically create:

  • One parent warehouse per facility (e.g., Main Warehouse - WH)
  • One child warehouse per zone (e.g., Zone A - WH, Cold Store - WH, Staging - WH)

Zone Types

Zone TypeUse CaseExample
AmbientStandard dry goodsElectronics, apparel
Cold2–8°C refrigeratedFresh produce, pharma
Frozen-18°C or belowFrozen foods
HazmatRegulated materialsChemicals, batteries

How to Create

  1. Go to Stock → Warehouse → New
  2. Set the Warehouse Name and Warehouse Type (Storage)
  3. Set Parent Warehouse to group zones under a facility
  4. In the 3PL section, set Zone Type and Location Type
  5. Check 3PL Managed to include this warehouse in inventory reports

TIP

Create a dedicated Staging warehouse for goods that have been received but not yet put away to bins. Putaway Tasks move stock from Staging to the final bin warehouse.


Step 3: Create Warehouse Locations

Warehouse Locations are the physical bin addresses — the finest-grained unit of storage. Each location belongs to a warehouse (zone) and has a structured address.

Location Hierarchy

How to Create

  1. Go to Warehouse 3PL → Warehouse Location → New
  2. Set Warehouse (the parent zone)
  3. Fill in the address fields: Aisle, Rack, Level, Bin
  4. The system auto-generates the Location Code (e.g., A-01-01-1-01)
  5. Set Location Type: Rack, Bulk, Floor, or Staging
  6. Set Temperature Zone if this location has special conditions
  7. Set Max Weight and Max Volume for capacity planning (optional)

Warehouse Locations

TIP

For bulk floor locations, leave Rack/Level/Bin blank and set Location Type to "Floor". These are used for pallet storage.

Batch Create Locations

For large warehouses, use the Bulk Create Locations tool under Warehouse 3PL → Tools. Specify the aisle/rack/level/bin ranges and it creates all locations in one shot.


Step 4: Create Items

Items in ERPNext represent the SKUs that clients store in your warehouse. Each item has 3PL-specific fields in addition to the standard ERPNext item fields.

How to Create

  1. Go to Stock → Item → New
  2. Fill in Item Name, Item Code, Item Group
  3. Set Is Stock Item = Yes
  4. In the 3PL Details section, configure:
FieldDescriptionExample
Temperature ZoneStorage requirementAmbient / Cold / Frozen
Velocity ClassA = fast, B = medium, C = slow movingA
Lot TrackedEnable batch/lot trackingYes (for food, pharma)
Client Item IDPrimary client's SKU code(set via Client Item)
  1. If lot-tracked, set Has Batch No = Yes and configure Batch Naming

INFO

Items in a 3PL context represent a generic product definition. The same physical product may be handled for multiple clients — use Client Items (Step 5) to map client-specific SKUs to this shared item.


Step 5: Create Client Items

A Client Item maps a client's SKU to your internal ERPNext item. This handles cases where the same product is called different things by different clients, or where a client uses their own barcode/part number.

How to Create

  1. Go to Warehouse 3PL → Client Item → New
  2. Set Client (the 3PL customer)
  3. Set Client SKU (client's own part number or barcode)
  4. Set Item (the internal ERPNext item to map to)
  5. Optionally add Client Item Description for reference

TIP

Client Items allow you to receive ASNs using client SKU codes and automatically resolve them to your internal item codes. This is essential for EDI integrations.


Step 6: Create Inventory Policy

An Inventory Policy defines the rules that govern how the system handles stock for a given client, zone, or item group. Policies control:

  • Picking method: FIFO, FEFO, LIFO, or manual
  • Putaway rules: preferred zones, weight limits
  • QC requirements: whether inspection is required on receipt
  • Lot control: enforce lot tracking or allow non-lot picks

Resolution Priority

Policies resolve from most specific to least specific:

  1. Client + Item Group + Zone
  2. Client + Item Group
  3. Client + Zone
  4. Client (all items)
  5. System default (no client set)

How to Create

  1. Go to Warehouse 3PL → Inventory Policy → New
  2. Set Client (leave blank for system default)
  3. Optionally set Item Group and/or Warehouse Zone to narrow scope
  4. Configure the policy fields (see Policy Engine reference)
  5. Save and submit

Inventory Policy

TIP

Leave the Client field blank to create a system-wide default policy. All specific policies override the default for matched dimensions.

WARNING

At least one Inventory Policy must exist (the system default) before submitting Receivings or Client Orders. Without a policy, allocation and putaway will fail.


Step 7: Create Rate Card

A Rate Card defines the service rates charged to a specific client. Every activity that the warehouse performs is logged as a Billing Transaction, which looks up the rate from the client's Rate Card.

Activity Types

ActivityDescriptionTypical Unit
ReceivingUnloading and checking inbound goodsPer unit
PutawayMoving goods to storage binsPer unit
PickPicking units for an orderPer unit
PackPacking picked goodsPer order line
ShipGenerating Delivery Note + handoffPer shipment
StorageMonthly storage feePer pallet/day
ReturnsProcessing inbound returnsPer unit

How to Create

  1. Go to Warehouse 3PL → Rate Card → New
  2. Set Client (the 3PL customer this rate card applies to)
  3. Set Effective From date
  4. Add rows in the Rate Items table — one row per activity type:
    • Activity Type: select from dropdown
    • Rate: charge amount
    • UOM: unit of measure (Each, Kg, Pallet, etc.)
  5. Save and submit the Rate Card
  6. Go back to the Customer record and link this Rate Card as Default Rate Card

Rate Cards

INFO

If a client has no Rate Card, or if an activity type is not found in the Rate Card, the Billing Transaction will be created with a zero rate and flagged for manual review.

Example Rate Card — TechGear Inc

ActivityRateUOM
Receiving$0.50Each
Putaway$0.25Each
Pick$0.35Each
Pack$1.50Order Line
Ship$5.00Shipment
Storage$15.00Pallet/Month

Built on Frappe/ERPNext