{"id":17674,"date":"2026-01-29T11:56:39","date_gmt":"2026-01-29T11:56:39","guid":{"rendered":"https:\/\/tenthplanet.in\/idempiere\/?p=17674"},"modified":"2026-08-20T09:29:34","modified_gmt":"2026-08-20T09:29:34","slug":"how-freight-freight-category-works-in-idempiere","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/idempiere\/how-freight-freight-category-works-in-idempiere\/","title":{"rendered":"How Freight &amp; Freight Category Works in iDempiere"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This section explains how shipping cost is calculated in iDempiere using <strong>Freight Category<\/strong> and <strong>Shipper Freight<\/strong> together. Freight category defines the shipping logic, while shipper freight sets the charges. Combined, they enable automatic freight calculation across orders, shipments, and invoices.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Process Flow<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1012\" height=\"403\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/FreightCategory-1.png\" alt=\"\" class=\"wp-image-20889\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/FreightCategory-1.png 1012w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/FreightCategory-1-300x119.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/FreightCategory-1-768x306.png 768w\" sizes=\"auto, (max-width: 1012px) 100vw, 1012px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why Freight Needs Structure<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shipping cost is not a flat value. It depends on urgency, weight, size, destination, and carrier rules. iDempiere separates this complexity into two layers so users don\u2019t calculate freight manually during transactions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This structure ensures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Freight pricing is <strong>predictable and repeatable.<\/strong><\/li>\n\n\n\n<li>Different delivery modes behave differently.<\/li>\n\n\n\n<li>Users focus on orders, not logistics math.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Core Design Concept<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Freight Category answers, \u201c<\/strong><strong>W<\/strong><strong>hich type of shipping?\u201d<\/strong><br><strong>Shipper Freight answers, \u201c<\/strong><strong>W<\/strong><strong>hat is the cost under that type?\u201d<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The system never guesses. It matches order data against predefined rules and applies the <strong>first valid freight rule<\/strong> automatically.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Freight Category \u2014 The Shipping Logic Layer<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Freight category defines the <em>nature of shipping<\/em>, not the price itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Express<\/strong> \u2192 fast, premium delivery<\/li>\n\n\n\n<li><strong>Air<\/strong> \u2192 long-distance air cargo<\/li>\n\n\n\n<li><strong>Ground<\/strong> \u2192 economical surface transport<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This classification allows iDempiere to apply different constraints and pricing behavior without changing user actions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What You Configure Here<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Name<\/strong><br>Business-friendly labels like <em>Express<\/em> or <em>Ground<\/em>. This is referenced everywhere.<\/li>\n\n\n\n<li><strong>Search Key<\/strong><br>Internal identifier used by the system and integrations.<\/li>\n\n\n\n<li><strong>Description<\/strong><br>Explains when this category should be used.<\/li>\n\n\n\n<li><strong>Active<\/strong><br>Controls availability across all shippers and transactions.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"425\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory.png\" alt=\"\" class=\"wp-image-17704\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory-300x125.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory-768x319.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Shipper Freight \u2014 The Pricing Layer<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shipper Freight connects a <strong>shipper<\/strong> (e.g., DHL Express) with a <strong>freight category<\/strong> and defines the <strong>actual freight charge<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is where real-world logistics rules are enforced.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Why This Exists<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The same freight category can cost differently:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DHL Express vs another courier<\/li>\n\n\n\n<li>Domestic vs international<\/li>\n\n\n\n<li>Light package vs heavy package<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Shipper Freight allows this variation without duplicating categories.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Fields and Their Purpose<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These fields are not optional \u2014 each one protects freight accuracy.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Shipper<\/strong><br>Identifies the logistics provider.<\/li>\n\n\n\n<li><strong>Freight Category<\/strong><br>Tells the system which shipping logic this rule belongs to.<\/li>\n\n\n\n<li><strong>Valid From<\/strong><br>Ensures pricing applies only from a specific date.<br>Prevents incorrect freight on historical or future orders.<\/li>\n\n\n\n<li><strong>Max Weight \/ Max Dimension<\/strong><br>Defines physical limits for the rule.<br>If exceeded, the system looks for another matching rule.<\/li>\n\n\n\n<li><strong>Country \/ Region<\/strong><br>Narrows the rule to specific destinations.<\/li>\n\n\n\n<li><strong>Currency<\/strong><br>Ensures freight aligns with billing currency.<\/li>\n\n\n\n<li><strong>Freight Amount<\/strong><br>The actual charge is applied when all conditions match.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"493\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory-1.png\" alt=\"\" class=\"wp-image-17705\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory-1.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory-1-300x144.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Master-FreightFreightCategory-1-768x370.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How the System Applies Freight in Transactions<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>During Sales Order Creation<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When a sales order is created, the user only selects a <strong>s<\/strong><strong>hipper<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Behind the scenes, iDempiere:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reads the freight category linked to the shipper<\/li>\n\n\n\n<li>Evaluates destination, weight, and dimensions<\/li>\n\n\n\n<li>Matches the order against valid shipper freight rules<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If a rule matches, <strong>freight is calculated automatically<\/strong> and added to the order.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No user decision is required.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>During Shipment Processing<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">At shipment time:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Freight rules are re-validated<\/li>\n\n\n\n<li>Actual shipment data is checked<\/li>\n\n\n\n<li>Freight charge is confirmed<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This prevents freight errors caused by changes between order and shipment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>During Invoice Generation<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When the invoice is created:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Freight flows directly from the shipment<\/li>\n\n\n\n<li>Appears as a clear freight charge<\/li>\n\n\n\n<li>Remains fully traceable to the shipper and category<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Finance teams see <strong>explainable, auditable freight costs<\/strong>, not manual adjustments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Use Cases<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Multiple Delivery Options<\/strong><br>Customers can choose Express or Ground while the system applies correct pricing automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Carrier Comparison<\/strong><br>Different shippers can use the same freight category with different rates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Regulatory and Audit Readiness<\/strong><br>Freight logic is rule-based, date-controlled, and traceable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Outcome<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After configuring <strong>Freight Category + Shipper Freight<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Users create orders without worrying about shipping math.<\/li>\n\n\n\n<li>The system selects the correct freight rule automatically.<\/li>\n\n\n\n<li>Shipments and invoices remain aligned.<\/li>\n\n\n\n<li>Logistics, sales, and finance operate on one shared logic.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Freight becomes a governed process, not a manual guess.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This section explains how shipping cost is calculated in iDempiere using Freight Category and Shipper Freight together. Freight category defines [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,37],"tags":[],"class_list":["post-17674","post","type-post","status-publish","format-standard","hentry","category-idempiere-product","category-idempiere-inventory"],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/17674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/comments?post=17674"}],"version-history":[{"count":2,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/17674\/revisions"}],"predecessor-version":[{"id":20890,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/17674\/revisions\/20890"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/media?parent=17674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/categories?post=17674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/tags?post=17674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}