{"id":33894,"date":"2026-04-09T08:15:31","date_gmt":"2026-04-09T08:15:31","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=33894"},"modified":"2026-04-09T08:15:31","modified_gmt":"2026-04-09T08:15:31","slug":"free-on-board","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/","title":{"rendered":"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Free on Board (FOB) has been a concept since people still used sailing vessels. Historically, the term literally meant that the seller&#8217;s obligation was fulfilled once the goods were placed &#8220;free&#8221; (without cost to the buyer) &#8220;on board&#8221; the vessel designated by the buyer. But in contemporary supply chain operations, FOB is a legally binding agreement embedded in commercial contracts, purchase orders, and letters of credit.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">FOB defines who pays freight, who bears transit risk, and when ownership transfers. These terms shape inventory control, financial reporting, and legal responsibility in domestic and international trade. Misunderstanding them can trigger shipment disputes, costly losses, and accounting issues, making FOB essential for supply chain decisions today.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Contents\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Content Lists<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 20px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n  padding-top: 20px;\r\n  margin-top: 0px;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 84% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\/* \t\t\tright: 5%; *\/\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Function to handle click on all <a> elements with href starting with #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Add event listener for all <a> elements in toc-list and list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with class 'td-post-content'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within the article\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif(window.innerWidth < 767){\r\n\t\t\ttocTitle.textContent = 'Table of Contents'; \/\/ Selalu pertahankan judul ini di mobile\r\n\t\t} else {\r\n\t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\t\t\t  tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n        tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n        let headerCounter = 0; \/\/ Counter to generate unique IDs\r\n\r\n\t\t\/\/ Function to generate ID in header0, header1, etc. format\r\n\t\tfunction formatId() {\r\n\t\t\treturn `header-${headerCounter++}`; \/\/ ID format: header0, header1, etc.\r\n\t\t}\r\n\r\n\/\/ \t\tfunction formatId(text) {\r\n\/\/             return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n\/\/         }\r\n\t\r\n        \/\/ Function to create nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Object to store list of h2 and h3 with their titles\r\n        const headings = [];\r\n\r\n           \/\/ Get all h2 and h3 elements\r\n        \/\/ Get all h2 and h3 elements\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h2 element\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Hide Key Takeaways di ToC\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h3 element\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Create HTML list from headings object\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Use the newly generated ID\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Get ul element with id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Get content (child elements) from ul with id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Get ul element with id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Add content obtained from 'list_toc' to ul with id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Function to get navbar height\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Function to add scroll position offset\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Function to handle title link click\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Add event listener for all title links\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n    <\/script> -->\r\n<\/span><\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#a\">Clearly define the FOB terms<\/a> in contracts. Specify the port and applicable Incoterms to avoid legal confusion and jurisdictional issues.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#b\">Ensure both buyers and sellers<\/a> have proper insurance coverage and are aware of when risk and ownership transfer during FOB transactions to prevent financial losses.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#c\">Align legal, logistics, and financial teams<\/a>. Use technology like ERP systems to automate inventory tracking, revenue recognition, and risk management under FOB terms.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>Understanding the Fundamentals of Free on Board (FOB)<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">FOB defines three key aspects: transportation costs, risk allocation, and the transfer of title. It dictates who pays freight, who handles insurance claims, and when ownership transfers. FOB&#8217;s interpretation varies by jurisdiction; the Philippine Commercial Code governs domestic trade in the Philippines, while Incoterms applies internationally. Failing to specify the framework can lead to legal disputes.<\/span><\/p>\n<h2><b><span id=\"a\">Domestic and International Legal Considerations<\/span><\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-34245\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Domestic_and_International_Legal_Considerations.webp\" alt=\"Legal consideration\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Domestic_and_International_Legal_Considerations.webp 800w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Domestic_and_International_Legal_Considerations-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Domestic_and_International_Legal_Considerations-768x384.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Domestic_and_International_Legal_Considerations-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Domestic_and_International_Legal_Considerations-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Domestic and international laws are often mistaken for being the same. Businesses must know the fundamental differences between the two.\u00a0<\/span><\/p>\n<h3><b>The Intersection of FOB and Incoterms 2020<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Under Incoterms 2020, FOB applies only to sea and inland waterway transport. It dictates risk and ownership transfer when goods are loaded onto the buyer\u2019s designated vessel. The buyer assumes responsibility and costs from that point onward. Misunderstanding this can lead to costly mistakes in international trade.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For containerized shipments, FOB is not ideal. <\/span><a href=\"https:\/\/iccwbo.org\/business-solutions\/incoterms-rules\/incoterms-2020\/#block-accordion-1\"><span style=\"font-weight: 400;\">The FCA (Free Carrier) term is recommended<\/span><\/a><span style=\"font-weight: 400;\"> since goods are often handed over to the carrier at a terminal before being loaded onto the ship. Using FOB in this scenario creates risk gaps, as the seller may remain liable even after losing physical control of the goods.<\/span><\/p>\n<h3><b>Domestic Trade Laws in the Philippines<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">In the Philippines, FOB terms must be clearly defined in contracts, ensuring alignment with both Incoterms and local laws. <\/span><a href=\"https:\/\/lawphil.net\/statutes\/repacts\/ra1949\/ra_386_1949.html\"><span style=\"font-weight: 400;\">The Civil Code of the Philippines (Republic Act No. 386)<\/span><\/a><span style=\"font-weight: 400;\"> governs property transfers, specifying that goods remain at the seller&#8217;s risk until ownership is transferred, after which risk shifts to the buyer (Article 1524).\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For tax compliance, businesses must follow <\/span><a href=\"https:\/\/elibrary.judiciary.gov.ph\/thebookshelf\/showdocs\/10\/48307\"><span style=\"font-weight: 400;\">the National Internal Revenue Code and BIR regulations<\/span><\/a><span style=\"font-weight: 400;\">, covering VAT and documentary stamp taxes on goods transfers. Proper documentation is required for the sale, transfer, or exchange of goods, ensuring tax obligations are met.<\/span><\/p>\n<h2><b>The Critical Distinctions: FOB Origin vs. FOB Destination<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">In the Philippines, under domestic commercial law, FOB is generally divided into two main categories: FOB Origin (also known as FOB Shipping Point) and FOB Destination.<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-34240 size-large\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-1024x554.webp\" alt=\"FOB origin vs FOB destination\" width=\"696\" height=\"377\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-1024x554.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-300x162.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-768x415.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-777x420.webp 777w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-150x81.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-696x376.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829-1068x580.webp 1068w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/The_Critical_Distinctions_FOB_Origin_vs_FOB_Destination-e1775710831829.webp 1520w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Understanding the stark contrast between these two variations is essential for effective supply chain risk management and precise financial accounting.<\/span><\/p>\n<h3><b>Freight Payment Variations<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">To add another layer of granularity, both Origin and Destination terms are frequently modified by freight payment conditions. These modifiers explicitly separate the transfer of risk from the payment of freight charges, creating four common hybrid scenarios:<\/span><\/p>\n<ul>\n<li><b>FOB Origin, Freight Prepaid:<\/b><span style=\"font-weight: 400;\"> The buyer takes ownership and risk at the point of origin, but the seller pays the shipping costs. The seller usually incorporates these costs into the overall price of the goods.<\/span><\/li>\n<li><b>FOB Origin, Freight Collect:<\/b><span style=\"font-weight: 400;\"> The buyer assumes risk at the origin and is also responsible for paying the freight carrier directly upon delivery.<\/span><\/li>\n<li><b>FOB Destination, Freight Prepaid:<\/b><span style=\"font-weight: 400;\"> The seller retains risk until delivery and pays the freight charges. This is the most traditional interpretation of FOB Destination.<\/span><\/li>\n<li><b>FOB Destination, Freight Collect:<\/b><span style=\"font-weight: 400;\"> The seller retains the risk of the goods during transit, but the buyer pays the freight charges upon arrival. The buyer typically deducts this freight cost from the final invoice paid to the seller.<\/span><\/li>\n<\/ul>\n<h2><b>FOB and Shipping Costs<\/b><\/h2>\n<div class=\"overflow-x-auto w-full px-2 mb-6\">\n<table style=\"border-collapse: collapse; width: 100%; font-family: Arial, sans-serif;\">\n<tbody>\n<tr style=\"background-color: #990000; color: #ffffff;\">\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 25%; text-align: center;\"><strong>FOB Term<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 25%; text-align: center;\"><strong>Seller Responsibility<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 25%; text-align: center;\"><strong>Buyer Responsibility<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 25%; text-align: center;\"><strong>Typical Shipping Costs in PHP<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>FOB Origin, Freight Prepaid<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller pays freight<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer assumes risk once goods are shipped<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">\u20b120,000 &#8211; \u20b150,000 (depending on distance)<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>FOB Origin, Freight Collect<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer pays freight directly to the carrier<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer assumes risk from the point of origin<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">\u20b115,000 &#8211; \u20b140,000<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>FOB Destination, Freight Prepaid<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller pays freight and retains risk<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer assumes ownership only upon delivery<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">\u20b130,000 &#8211; \u20b160,000<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>FOB Destination, Freight Collect<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller retains risk, Buyer pays upon delivery<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer assumes risk at the destination point<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">\u20b125,000 &#8211; \u20b155,000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b><span id=\"b\">Risk Management and Liability in FOB Agreements<\/span><\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Allocation of risk is the most heavily scrutinized aspect of any shipping agreement. When a catastrophic event, like a container falling overboard, occurs, the FOB terms dictate which party&#8217;s insurance policy must respond.<\/span><\/p>\n<h3><b>Marine Insurance Considerations<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">FOB splits liability during transit, so both buyers and sellers need proper cargo insurance. In international FOB shipments, buyers are at risk once the goods are on board the vessel. Therefore, the buyer must secure a marine insurance policy that provides coverage from the port of loading to the final destination, ideally with warehouse-to-warehouse protection. Sellers must cover goods before vessel loading. Without aligned insurance, either party may face major losses when damage or transit issues occur.<\/span><\/p>\n<h3><b>The Role of the Bill of Lading<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The Bill of Lading (B\/L) is a key document in any FOB transaction. It acts as a receipt, proof of carriage, and document of title. Buyers need it to claim goods at their destination. Its consignment terms also affect ownership transfer. Any mismatch between the B\/L, invoice, and shipping terms can delay customs clearance.<\/span><\/p>\n<h2><b>Analyzing the Financial and Accounting Impact of FOB<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-34252\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Analyzing_the_Financial_and_Accounting_Impact_of_FOB.webp\" alt=\"Analyzing the financial and accounting\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Analyzing_the_Financial_and_Accounting_Impact_of_FOB.webp 800w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Analyzing_the_Financial_and_Accounting_Impact_of_FOB-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Analyzing_the_Financial_and_Accounting_Impact_of_FOB-768x384.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Analyzing_the_Financial_and_Accounting_Impact_of_FOB-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Analyzing_the_Financial_and_Accounting_Impact_of_FOB-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Shipping terms exert a profound influence on corporate finance, accounting practices, and working capital management. The precise moment title transfers dictate how transactions are recorded in the general ledger, impacting everything from the cost of goods sold (COGS) to tax liabilities.<\/span><\/p>\n<h3><b>Inventory Valuation and Transit Accounting<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">For buyers, FOB terms determine when buyers record inventory and accounts payable. Under FOB Origin, buyers recognize inventory in transit once goods <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/supplier-contract\/\">leave the supplier and include freight<\/a> in the inventory cost. Under FOB Destination, buyers record inventory only upon delivery. This timing can materially change year-end inventory balances, liabilities, and financial reporting.<\/span><\/p>\n<h3><b>Revenue Recognition for Sellers<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">It is required for sellers to recognize revenue when control of the promised goods is transferred to the customer. It is outlined in <\/span><a href=\"https:\/\/storage.fasb.org\/ASU%202014-09_Section%20A.pdf\"><span style=\"font-weight: 400;\">ASC 606 (Accounting Standards Codification)<\/span><\/a><span style=\"font-weight: 400;\"> by the Financial Accounting Standards Board (FASB). Under FOB Origin, sellers can recognize revenue once goods ship because control transfers at dispatch.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Under FOB Destination, the seller must defer revenue recognition until the goods are delivered. If a shipment takes 30 days to cross the ocean, the seller&#8217;s revenue is delayed by a month. Furthermore, the seller must keep the goods on their own balance sheet as inventory during transit. <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/best-erp-for-shipping\/\">ERP systems help automate these entries<\/a>, improve accuracy, and prevent reporting errors tied to shipping terms.<\/span><\/p>\n<h2><b>Comparing FOB with Other Major Incoterms<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">To fully grasp the utility of Free on Board, it is helpful to contrast it with other widely used Incoterms. Each term represents a different point on the spectrum of risk and cost allocation between the buyer and the seller.<\/span><\/p>\n<h3><b>FOB vs. CIF (Cost, Insurance, and Freight)<\/b><\/h3>\n<div class=\"overflow-x-auto w-full px-2 mb-6\">\n<table style=\"border-collapse: collapse; width: 100%; font-family: Arial, sans-serif;\">\n<tbody>\n<tr style=\"background-color: #990000; color: #ffffff;\">\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 22%; text-align: center;\"><strong>Aspect<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 39%; text-align: center;\"><strong>FOB<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 39%; text-align: center;\"><strong>CIF (Cost, Insurance, and Freight)<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Transport scope<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Maritime transport only<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Maritime transport only<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Freight cost<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">The buyer usually pays freight from the port of origin onward, unless stated otherwise.<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller pays the cost and freight to the named port of destination<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Insurance<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">The buyer usually arranges marine insurance<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">The seller must arrange marine insurance for the buyer\u2019s transit risk<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Risk transfer point<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Risk transfers when goods are loaded on board at the port of origin<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Risk also transfers when goods are loaded on board at the port of origin<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Seller responsibility<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Lower<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Higher<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Buyer convenience<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Lower, because the buyer handles more shipping arrangements<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Higher, because the seller handles freight and basic insurance<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Best for<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyers who want more control over freight and shipping costs<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyers who want the seller to manage freight and insurance arrangements<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><b>FOB vs. EXW (Ex Works)<\/b><\/h3>\n<div class=\"overflow-x-auto w-full px-2 mb-6\">\n<table style=\"border-collapse: collapse; width: 100%; font-family: Arial, sans-serif;\">\n<tbody>\n<tr style=\"background-color: #990000; color: #ffffff;\">\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 22%; text-align: center;\"><strong>Aspect<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 39%; text-align: center;\"><strong>FOB<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 39%; text-align: center;\"><strong>EXW (Ex Works)<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Seller obligation<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller delivers the goods on board the vessel and handles export clearance<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">The seller only makes the goods available at their premises<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Buyer responsibility<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">The buyer takes over the risk and costs once the goods are loaded on board<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer handles all costs, risks, loading, transport, and export procedures<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Loading responsibility<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller handles loading at the port of shipment<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer handles loading from the seller\u2019s premises<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Export clearance<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller manages export clearance<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyer manages export clearance<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Risk transfer point<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Risk transfers when goods are loaded on board the vessel<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Risk transfers once goods are made available at the seller\u2019s premises<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Seller responsibility<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Moderate<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Minimum<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Best for<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyers who want some control after shipment, while sellers manage export formalities<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Buyers who want full control over the entire shipping and export process<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><b>FOB vs. FCA (Free Carrier)<\/b><\/h3>\n<div class=\"overflow-x-auto w-full px-2 mb-6\">\n<table style=\"border-collapse: collapse; width: 100%; font-family: Arial, sans-serif;\">\n<tbody>\n<tr style=\"background-color: #990000; color: #ffffff;\">\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 22%; text-align: center;\"><strong>Aspect<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 39%; text-align: center;\"><strong>FOB<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; width: 39%; text-align: center;\"><strong>FCA (Free Carrier)<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Transport scope<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Primarily used for sea and inland waterway transport<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Can be used for any mode of transport, including air, road, rail, and sea<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Delivery point<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller delivers goods on board the vessel at the named port of shipment<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller delivers goods to the buyer\u2019s nominated carrier at the seller\u2019s premises or another named place<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Export clearance<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Seller handles export clearance<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">The seller also handles export clearance<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Risk transfer point<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Risk transfers when goods are loaded on board the vessel<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Risk transfers when goods are handed to the nominated carrier at the named place<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Flexibility<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Less flexible because it is limited to port-based vessel loading<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">More flexible because it works across multiple transport methods and locations<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Containerized shipments<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Less suitable because it can create a risk gap while goods wait at the terminal<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">More suitable because it avoids the terminal risk gap in containerized shipping<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\"><strong>Best for<\/strong><\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Traditional bulk or non-containerized sea shipments<\/td>\n<td style=\"padding: 10px; border: 1px solid #dddddd; text-align: center;\">Modern multimodal and containerized shipments need clearer risk transfer<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>Best Practices for Negotiating FOB Terms<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-34259\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Best_Practices_for_Negotiating_FOB_Terms-1.webp\" alt=\"Best practice negotiating FOB\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Best_Practices_for_Negotiating_FOB_Terms-1.webp 800w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Best_Practices_for_Negotiating_FOB_Terms-1-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Best_Practices_for_Negotiating_FOB_Terms-1-768x384.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Best_Practices_for_Negotiating_FOB_Terms-1-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Best_Practices_for_Negotiating_FOB_Terms-1-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Negotiating shipping terms is a delicate balancing act between cost control, risk appetite, and logistical capabilities. Procurement and sales teams must <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/logistics-management-software\/\">collaborate closely with their logistics counterparts<\/a> to determine the most advantageous terms for their organization.<\/span><\/p>\n<h3><b>Strategies for Buyers<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">For buyers with sophisticated, high-volume supply chains, negotiating FOB Origin (or FCA for international containers) is often the optimal strategy. By taking control of the freight, large buyers can leverage their aggregate shipping volumes to negotiate lower rates with ocean carriers and freight forwarders than the seller could offer. This unbundling of product cost and freight cost provides greater transparency, preventing sellers from hiding profit margins within inflated &#8220;prepaid&#8221; freight charges.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">However, buyers must ensure they have the internal infrastructure to manage this complexity. This includes dedicated logistics personnel, robust customs brokerage relationships, and advanced tracking software. Buyers must also be proactive in securing comprehensive cargo insurance, as they are assuming the risk for the longest portion of the journey.<\/span><\/p>\n<h3><b>Strategies for Sellers<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Sellers must carefully evaluate their willingness to assume transit risk and their ability to manage outbound logistics. Offering FOB Destination can be a strong selling point, particularly when dealing with smaller buyers who lack logistics expertise. It provides the buyer with a seamless, &#8220;door-to-door&#8221; purchasing experience.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If a seller agrees to FOB Destination, they must accurately calculate the total landed cost, including freight, insurance, and potential tariffs, and bake these costs into the final product price to protect their margins. Sellers should also negotiate aggressively with their outbound carriers to secure favorable rates and ensure that their transit insurance policies are bulletproof, as they retain the risk of loss for the entire journey.<\/span><\/p>\n<h2><b>Industry-Specific Use Cases for FOB Terms<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">While the fundamental definition of Free on Board remains consistent, its practical application varies widely across different sectors. Understanding how specific industries leverage FOB terms provides valuable insight into <a href=\"https:\/\/www.hashmicro.com\/ph\/supply-chain-management\">strategic supply chain management<\/a> and risk mitigation.<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-34241 size-large\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-1024x513.webp\" alt=\"Industry specific use\" width=\"696\" height=\"349\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-1024x513.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-768x385.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-839x420.webp 839w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-696x348.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237-1068x535.webp 1068w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/Industry_Specific_Use_Cases_for_FOB_Terms-e1775711260237.webp 1508w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<h2><b><span id=\"c\">Strategic Implementation Steps for FOB Contracts<\/span><\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Transitioning to a new FOB strategy or standardizing terms across a global enterprise requires meticulous planning. Companies must ensure that their legal, logistical, and financial departments are perfectly aligned. Here are the critical steps for successful implementation:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Step 1: Conduct a Comprehensive Risk and Capability Assessment.<\/b><span style=\"font-weight: 400;\"> Before drafting contracts, evaluate your organization\u2019s logistics infrastructure. Does your company have the volume to negotiate better freight rates than your suppliers? If so, purchasing FOB Origin might be cost-effective. If your logistics network is limited, FOB Destination is safer.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Step 2: Explicitly Define the Named Place.<\/b><span style=\"font-weight: 400;\"> Never use generic terms like &#8220;FOB China&#8221; or &#8220;FOB New York.&#8221; Precision is paramount. Contracts must specify the exact location, such as &#8220;FOB Pier 40, Port of Seattle&#8221; or &#8220;<a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-warehouse-management-system-wms\/\">FOB Supplier Warehouse<\/a>, Dock 3, Munich.&#8221; This eliminates ambiguity regarding exactly where the risk transfers.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Step 3: Align ERP and Accounting Systems.<\/b><span style=\"font-weight: 400;\"> Financial software must be configured to recognize inventory and revenue in accordance with the specific FOB terms. For FOB Origin, the ERP should trigger a title transfer and accounts payable entry the moment the carrier issues the bill of lading.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Step 4: Synchronize Insurance Policies.<\/b><span style=\"font-weight: 400;\"> Ensure there are no coverage gaps. Buyers purchasing under FOB Origin must verify that their marine or transit insurance activates the exact moment the goods are loaded, while sellers must maintain coverage right up to that precise point.<\/span><\/li>\n<\/ul>\n<h2><b>Common Pitfalls and How to Avoid Them<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Despite the ubiquity of FOB in commercial contracts, costly mistakes are frequent. Avoiding these pitfalls requires rigorous contract management and continuous education of procurement and sales teams.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Confusing Domestic and International Terms:<\/b><span style=\"font-weight: 400;\"> Using the UCC definition of FOB Origin for an international ocean shipment is a recipe for disaster. Contracts must explicitly state which framework applies (e.g., &#8220;FOB Shanghai, Incoterms 2020&#8221;).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Using FOB for Containerized Freight:<\/b><span style=\"font-weight: 400;\"> As emphasized by the ICC, using FOB for containers creates a risk gap at the terminal. Organizations should transition their standard contracts to FCA for all containerized shipments.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Assuming Title and Risk Always Transfer Together:<\/b><span style=\"font-weight: 400;\"> While risk and title often transfer simultaneously under FOB, this is not a universal law. Specific contract clauses, retention of title clauses, or the method of payment (like Letters of Credit) can separate the transfer of risk from the transfer of legal ownership.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Inadequate Insurance Coverage:<\/b><span style=\"font-weight: 400;\"> Relying on the carrier&#8217;s limited liability coverage instead of purchasing dedicated cargo insurance is a massive financial risk. Carriers are typically only liable for a fraction of the cargo&#8217;s value under international maritime law (such as the Carriage of Goods by Sea Act).<\/span><\/li>\n<\/ul>\n<h2><b>The Role of Technology in Managing FOB Transactions<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">The sheer volume of data generated by global supply chains makes manual tracking of shipping terms, risk transfer points, and freight accounting nearly impossible. Modern enterprises rely heavily on technology to maintain visibility and control over their FOB shipments.<\/span><\/p>\n<h3><b>Supply Chain Visibility and Tracking<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Real-time visibility platforms help businesses track goods through API connections with carriers, ports, and freight forwarders. Under FOB Origin, buyers need exact vessel departure data because liability starts at that point. Automated alerts for departures, arrivals, and delays also help supply chain teams adjust inventory plans and production schedules faster.<\/span><\/p>\n<h3><b>Automated Freight Accounting and ERP Integration<\/b><\/h3>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/top-distribution-erp-systems\/\">ERP software helps businesses<\/a> manage FOB accounting more accurately by tracking inventory in transit and capitalizing freight costs. Under FOB Origin, the system can automatically record inventory and related liabilities once goods are loaded. This reduces manual errors, supports accounting compliance, and gives finance teams real-time visibility into working capital and shipment-related entries.<\/span><\/p>\n<h3><b>Utilizing AI Management to Manage Supply\u00a0<\/b><\/h3>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/top-ai-supply-chain-management\/\">AI-powered supply management<\/a> helps businesses forecast demand, detect shipment risks, and respond faster to supply chain disruptions. In FOB transactions, AI can analyze carrier performance, transit times, and delay patterns to improve planning. This allows teams to reduce stock issues, optimize purchasing decisions, and maintain better control over supply movement.<\/span><\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">FOB is crucial not only for logistics but also for legal and financial operations. Whether following Incoterms 2020 or the Philippine Commercial Code, businesses must clearly understand when risk and ownership transfer to avoid costly mistakes. Proper application of FOB Origin or FOB Destination ensures better control over freight costs and risk management.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">By mastering FOB terms, companies can streamline their supply chains, improve inventory visibility, and align accounting practices with shipping processes. As trade complexity rises, <\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/top-supply-chain-management-software\/\"><span style=\"font-weight: 400;\">having the best supply chain system<\/span><\/a><span style=\"font-weight: 400;\"> to negotiate, execute, and track these terms effectively will be a key factor in optimizing business performance and ensuring operational success. <\/span><\/p>\n<h2><strong>FAQ for Free On Board<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details open=\"open\">\n<summary><strong>What is the difference between Free on board and free alongside ship?<\/strong><\/summary>\n<p><span style=\"font-weight: 400;\">FOB transfers risk once the goods are loaded onto the vessel, while FAS transfers risk when the goods are placed alongside the ship. In FOB, the seller handles loading, but in FAS, the buyer does.<\/span><\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>What is the difference between FOB and FOD?<\/strong><\/summary>\n<p><span style=\"font-weight: 400;\">FOD transfers risk when goods arrive at the dock, before loading. FOD is more specific about the delivery location compared to FOB.<\/span><\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Is FOB only for sea freight?<\/strong><\/summary>\n<p>Yes, FOB is primarily used for sea freight and inland waterway transport. It defines when risk transfers upon loading onto the vessel, and isn&#8217;t used for air or land freight, where other terms like FCA apply.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Who pays the BL fee for FOB?<\/strong><\/summary>\n<p>The buyer typically pays the Bill of Lading (BL) fee in FOB transactions. The buyer covers costs related to the BL once the goods are loaded onto the vessel, especially under FOB Origin.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"What is the difference between Free on board and free alongside ship?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"FOB transfers risk once the goods are loaded onto the vessel, while FAS transfers risk when goods are placed alongside the ship. In FOB, the seller handles loading, but in FAS, the buyer does.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What is the difference between FOB and FOD?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"FOD transfers risk when goods arrive at the dock, before loading. FOD is more specific about delivery location compared to FOB.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Is FOB only for sea freight?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Yes, FOB is primarily used for sea freight and inland waterway transport. It defines when risk transfers upon loading onto the vessel, and isn't used for air or land freight, where other terms like FCA apply.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Who pays the BL fee for FOB?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The buyer typically pays the Bill of Lading (BL) fee in FOB transactions. The buyer covers costs related to the BL once the goods are loaded onto the vessel, especially under FOB Origin.\"\n    }\n  }]\n}\n<\/script><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Free on Board (FOB) has been a concept since people still used sailing vessels. Historically, the term literally meant that the seller&#8217;s obligation was fulfilled once the goods were placed &#8220;free&#8221; (without cost to the buyer) &#8220;on board&#8221; the vessel designated by the buyer. But in contemporary supply chain operations, FOB is a legally binding [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":34244,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[18],"tags":[],"class_list":{"0":"post-33894","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-supply-chain"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v26.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms - HashMicro Philippine Blog<\/title>\n<meta name=\"description\" content=\"Explore the latest FOB shipping terms in 2026 with this comprehensive guide. Understand how FOB Origin and FOB Destination affect liability, insurance, and revenue recognition.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms\" \/>\n<meta property=\"og:description\" content=\"Explore the latest FOB shipping terms in 2026 with this comprehensive guide. Understand how FOB Origin and FOB Destination affect liability, insurance, and revenue recognition.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-09T08:15:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Daniel Garcia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Garcia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/\",\"name\":\"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms - HashMicro Philippine Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp\",\"datePublished\":\"2026-04-09T08:15:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/cb089f3c3335968258000bcefa51c1cc\"},\"description\":\"Explore the latest FOB shipping terms in 2026 with this comprehensive guide. Understand how FOB Origin and FOB Destination affect liability, insurance, and revenue recognition.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp\",\"width\":1200,\"height\":675,\"caption\":\"Guide to FOB in 2026\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\",\"name\":\"HashMicro Philippine Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/ph\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-PH\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/cb089f3c3335968258000bcefa51c1cc\",\"name\":\"Daniel Garcia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Daniel-Garcia-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Daniel-Garcia-96x96.webp\",\"caption\":\"Daniel Garcia\"},\"description\":\"Daniel Garcia writes about various industries, tailoring his content to showcase how software solutions address sector-specific needs. His articles span manufacturing, distribution, and services, offering insights into productivity improvements and digital transformation.\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/author\/daniel-garcia\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms - HashMicro Philippine Blog","description":"Explore the latest FOB shipping terms in 2026 with this comprehensive guide. Understand how FOB Origin and FOB Destination affect liability, insurance, and revenue recognition.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/","og_locale":"en_US","og_type":"article","og_title":"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms","og_description":"Explore the latest FOB shipping terms in 2026 with this comprehensive guide. Understand how FOB Origin and FOB Destination affect liability, insurance, and revenue recognition.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2026-04-09T08:15:31+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp","type":"image\/webp"}],"author":"Daniel Garcia","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Daniel Garcia","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/","name":"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms - HashMicro Philippine Blog","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp","datePublished":"2026-04-09T08:15:31+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/cb089f3c3335968258000bcefa51c1cc"},"description":"Explore the latest FOB shipping terms in 2026 with this comprehensive guide. Understand how FOB Origin and FOB Destination affect liability, insurance, and revenue recognition.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/04\/FOB_in_2026_The_Ultimate_Guide_to_Free_on_Board_Shipping_Terms_hashmicro.webp","width":1200,"height":675,"caption":"Guide to FOB in 2026"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/free-on-board\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"FOB in 2026: The Ultimate Guide to Free on Board Shipping Terms"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website","url":"https:\/\/www.hashmicro.com\/ph\/blog\/","name":"HashMicro Philippine Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/ph\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-PH"},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/cb089f3c3335968258000bcefa51c1cc","name":"Daniel Garcia","image":{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Daniel-Garcia-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Daniel-Garcia-96x96.webp","caption":"Daniel Garcia"},"description":"Daniel Garcia writes about various industries, tailoring his content to showcase how software solutions address sector-specific needs. His articles span manufacturing, distribution, and services, offering insights into productivity improvements and digital transformation.","url":"https:\/\/www.hashmicro.com\/ph\/blog\/author\/daniel-garcia\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/33894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/comments?post=33894"}],"version-history":[{"count":6,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/33894\/revisions"}],"predecessor-version":[{"id":34262,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/33894\/revisions\/34262"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/34244"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=33894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=33894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=33894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}