How to Configure Shipping Processor Configuration in iDempiere

Introduction

The Shipping Processor Configuration window in iDempiere defines how the system connects to an external carrier or freight service, using a Shipping Processor Java Class to handle rate calls, labels, and tracking.

It is used in Material Management when shipments to customers require carrier-specific rating, packaging, and pickup options rather than manual freight entry.

This configuration directly affects shipment processing, tracking accuracy, and carrier-related reporting across the tenant and its organizations.

Process Flow Diagram

TenthPlanet-iDempiere-Master-ShippingProcessorConfiguration-ProcessFlow

Business Rules

  • Active records are available for shipment processing; inactive processors are excluded from selection.
  • Host Address and Host port are mandatory for the processor to connect to the carrier system.
  • A single Shipping Processor Configuration can hold multiple Shipper records.
  • Shipper records exist only under a parent Shipping Processor Configuration.
  • Tracking URL, when set on a Shipper, enables shipment tracking directly from iDempiere.
  • International, Saturday Delivery, and Residential flags control which delivery services a shipper supports.
  • Proxy fields are optional and used only when outbound calls route through a proxy server.
  • Shipping Processor Class must reference a valid Java class implementing the shipment processor interface.

Prerequisites

  • Tenant (Client) configured.
  • Organization configured.
  • Business Partner and Shipment (Customer) window available for shipment processing.
  • Java class for Shipping Processor Class (e.g., MFreightShipmentProcessor) available in the system.
  • User role with access to Material Management setup windows.

Navigation

Menu → Material Management and Pricing → Material Management Rules → Shipping Processor Configuration
TenthPlanet-iDempiere-Master-ShippingProcessorConfiguration-1

On opening, users see the header form (Tenant, Organization, Name, Host Address, Host port, Proxy fields, Shipping Processor Class) with a Shipper tab grid below listing configured shippers.

TenthPlanet-iDempiere-Master-ShippingProcessorConfiguration-2

Configuration Steps

Step 1: Create the Shipping Processor Configuration

This step establishes the base connection record the system uses to reach the carrier’s service.

Instructions

Enter Name and Description, set Active, provide Host Address and Host port, then enter the Shipping Processor Class. Save the record before adding shippers.

TenthPlanet-iDempiere-Master-ShippingProcessorConfiguration-3
FieldSample ValueDescription
NameFreight Table Shipment ProcessorIdentifies the processor configuration
Host Address0.0.0.0Carrier service endpoint address
Host port0Port used to connect to the carrier service
Shipping Processor Classorg.adempiere.model.MFreightShipmentProcessorJava class implementing the processor logic

Step 2: Configure Proxy Settings (if applicable)

Required only when outbound requests to the carrier must route through a network proxy.

Instructions

Enter Proxy address, Proxy port, Proxy logon, and Proxy password if the environment requires proxy routing; otherwise leave these fields blank.

Step 3: Add a Shipper Record

Each shipper record represents a specific carrier or service level under the processor, such as Blue Dart Express.

Instructions

Open the Shipper tab, click New, enter Name and Description, set Active, and enable Online Access if the carrier supports API-based calls.

TenthPlanet-iDempiere-Master-ShippingProcessorConfiguration-4
FieldSample ValuePurpose
NameBlue Dart ExpressIdentifies the shipper or carrier
Service Code(carrier-specific)Carrier’s internal service identifier
Tracking URL(carrier tracking link)Template used to track shipments

Step 4: Set Shipper Service Options

These flags determine which delivery capabilities are available when this shipper is selected on a shipment.

Instructions

Check International, Saturday Delivery, or Residential based on the carrier’s actual service capability, then save the Shipper record.


Step 5: Configure Packaging, Label Type, and Pickup Types

These sub-tabs define package sizes, label formats, and pickup schedules used when generating shipments with this shipper.

Instructions

Open Packaging, Label Type, or Pickup Types under the Shipper tab and add records matching the carrier’s supported packaging, label, and pickup options.

Note: Sub-tab records (Packaging, Label Type, Pickup Types) are only available once the parent Shipper record has been saved.

Common Issues and Resolutions

IssueCauseResolution
Shipment fails to connect to carrierHost Address or Host port is incorrect or unreachableVerify Host Address and Host port against carrier documentation
Proxy connection errorsProxy address, port, logon, or password incompleteConfirm all proxy fields with the network team
Shipper not available during shipment entryShipper record is inactiveSet the Shipper record to Active
Tracking link not shown for shipmentTracking URL not configured on ShipperAdd a valid Tracking URL template
Processor class not found errorShipping Processor Class name is invalid or misspelledVerify the class matches an installed Java implementation
Saturday or International delivery not offeredRelated flag not checked on ShipperEnable the relevant checkbox on the Shipper tab
Duplicate shipper entriesMultiple shippers created with the same nameUse unique, descriptive shipper names per carrier

Next Steps

  • Configure the Shipment (Customer) window to select the new shipper.
  • Set up Packaging types for accurate freight and box-size calculation.
  • Configure Label Type templates to meet carrier compliance requirements.
  • Review Pickup Types to align shipment generation with logistics scheduling.