Consent Preferences
var breeze_prefetch = {"local_url":"https://packchain.io","ignore_remote_prefetch":"1","ignore_list":["wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://packchain.io/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
https://packchain.io/wp-includes/js/jquery/jquery.min.js
https://packchain.io/wp-includes/js/jquery/jquery-migrate.min.js
var _hsq = _hsq || [];
_hsq.push(["setContentType", "standard-page"]);
var root = document.getElementsByTagName( "html" )[0]; root.setAttribute( "class", "js" );
Skip to main content
Automate Quality Control
Verify order weights and capture images in milliseconds to eliminate the need for full-time manual inspection lines.
Easy Workflow Integration
Add a checkweigh audit pack verification system to your workflow and use product weights to drive quality control.
Three Pillars of Outbound Quality Control
Prevent shipping discrepancies and database offsets on the warehouse floor with the packchain-QC three-in-one system. Find out how easy it is to add scales and cameras to improve pick and pack workflow quality.
Checkweigh Pack Verification
Compare expected order weights against physical scale measurements dynamically. Suppress shipping label output instantly when weight variances are detected, preventing packing discrepancies from leaving the dock.
Order Image Capture
Capture high-resolution overhead images or video of package contents as they are weighed, giving customer service records to counter fraudulent claims.
Fix Product Dimensions
Identify SKUs with inaccurate dimensions, then quickly capture and write back accurate physical dimensions to the WMS, right-sizing downstream boxes.
Use Your Hardware
Connect precision scales and camera hardware directly to WMS, ERP, or TMS platforms using simple JSON payloads and bi-directional webhooks.
Frequently Asked Questions
Automated quality control stops picking errors without slowing down your packers.
Read our FAQ to see how inline scales and camera audits can protect your outbound shipments.
Integrate inline weight checks. Automated verification happens in milliseconds, checking the box as it sits on the scale.
Use integrated weight scales and cameras at the pack station. They verify packages against expected WMS database specifications automatically.
A self-healing item master is a process workflow that corrects product weight and size database specs when audits prove WMS records are wrong.
Compare your mispick rates against return costs and shipping chargebacks to reveal the true cost of bad data.
Case Studies
See how top brands use mechanized dimension data to stop fulfillment errors and shrink costs. These case studies show how clean item master data and automated scales protect your bottom line.
(function(window, document) {
document.documentElement.classList.remove("no-js");
if(navigator.userAgent.match(/(Android|iPod|iPhone|iPad|BlackBerry|IEMobile|Opera Mini)/)) {
document.body.className += " using-mobile-browser mobile ";
}
if(navigator.userAgent.match(/Mac/) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2) {
document.body.className += " using-ios-device ";
}
if( !("ontouchstart" in window) ) {
var body = document.querySelector("body");
var winW = window.innerWidth;
var bodyW = body.clientWidth;
if (winW > bodyW + 4) {
var vwTestEl = document.createElement("div");
vwTestEl.style.position = "absolute";
vwTestEl.style.top = "-9999px";
vwTestEl.style.width = "100vw";
body.appendChild(vwTestEl);
var vwWidth = vwTestEl.offsetWidth;
body.removeChild(vwTestEl);
if (vwWidth > bodyW + 4) {
body.setAttribute("style", "--scroll-bar-w: " + (winW - bodyW - 4) + "px");
} else {
body.setAttribute("style", "--scroll-bar-w: 0px");
}
} else {
body.setAttribute("style", "--scroll-bar-w: 0px");
}
}
})(window, document);
(function() {
let wpCurrentState = 0; // Starts in Neutral (state 0)
let wpTimerId = null;
// Six phases of the cycle (Scenarios and Transitions) starting in Neutral
const wpStates = [
{ type: "neutral", duration: 2000 },
{ type: "scenario", duration: 7000 }, // Scenario 1: Pass
{ type: "neutral", duration: 2000 },
{ type: "scenario", duration: 7000 }, // Scenario 2: Mispick
{ type: "neutral", duration: 2000 },
{ type: "scenario", duration: 7000 } // Scenario 3: Dim Heal
];
function wpRunCycle() {
clearTimeout(wpTimerId);
wpUpdateSimulation();
const activeState = wpStates[wpCurrentState];
wpTimerId = setTimeout(() => {
wpCurrentState = (wpCurrentState + 1) % wpStates.length;
wpRunCycle();
}, activeState.duration);
}
function wpUpdateSimulation() {
// Reset all cards to default (standby)
for (let i = 1; i <= 4; i++) {
const card = document.getElementById(`wp-node${i}`);
if (card) card.className = "node-card";
}
const node1 = document.getElementById('wp-node1');
if (node1) node1.classList.add('start-concept');
// Reset all decision diamonds to default
for (let i = 1; i <= 2; i++) {
const dec = document.getElementById(`wp-dec${i}`);
if (dec) dec.className = "decision-diamond";
}
let activeMarches = [];
let activeArrows = [];
// Determine visual classes and marching data streams based on state index
if (wpCurrentState === 1) {
// Scenario 1: Pass Scenario
if (node1) node1.classList.add('audit-active-state');
const dec1 = document.getElementById('wp-dec1');
if (dec1) dec1.classList.add('green-diamond-state');
const node2 = document.getElementById('wp-node2');
if (node2) node2.classList.add('pass-solid-state');
activeMarches = [1, 2];
activeArrows = [1, 2];
}
else if (wpCurrentState === 3) {
// Scenario 2: Mispick Scenario (Pass No - Mispick Yes)
if (node1) node1.classList.add('audit-active-state');
const dec1 = document.getElementById('wp-dec1');
if (dec1) dec1.classList.add('red-diamond-state');
const dec2 = document.getElementById('wp-dec2');
if (dec2) dec2.classList.add('red-diamond-state');
const node3 = document.getElementById('wp-node3');
if (node3) node3.classList.add('red-solid-bg-state');
const node2 = document.getElementById('wp-node2');
if (node2) node2.classList.add('green-border-state');
activeMarches = [1, 3, 4, 6];
activeArrows = [1, 3, 4, 6];
}
else if (wpCurrentState === 5) {
// Scenario 3: Dimension Heal Scenario (Pass No - Mispick No)
if (node1) node1.classList.add('audit-active-state');
const dec1 = document.getElementById('wp-dec1');
if (dec1) dec1.classList.add('red-diamond-state');
const dec2 = document.getElementById('wp-dec2');
if (dec2) dec2.classList.add('orange-diamond-state');
const node4 = document.getElementById('wp-node4');
if (node4) node4.classList.add('orange-solid-state');
const node3 = document.getElementById('wp-node3');
if (node3) node3.classList.add('orange-border-state');
const node2 = document.getElementById('wp-node2');
if (node2) node2.classList.add('orange-border-state');
activeMarches = [1, 3, 5, 7, 8, 6];
activeArrows = [1, 3, 5, 7, 8, 6];
}
else {
// Neutral transitions (wpCurrentState === 0, 2, 4)
if (node1) node1.classList.add('audit-neutral-state');
}
// Toggle self-healing flow label active color
const shLabel = document.getElementById('wp-self-healing-label');
if (shLabel) {
if (wpCurrentState === 5) {
shLabel.classList.add('active');
} else {
shLabel.classList.remove('active');
}
}
// Update SVG lines and arrow highlights
for (let i = 1; i <= 8; i++) {
const line = document.getElementById(`wp-line${i}`);
const march = document.getElementById(`wp-march${i}`);
const arrow = document.getElementById(`wp-arrow${i}`);
if (line) line.classList.remove('highlight');
if (arrow) arrow.classList.remove('highlight', 'arrow-green', 'arrow-red', 'arrow-orange');
if (march) march.classList.remove('active', 'march-green', 'march-red', 'march-orange');
if (march) {
if (activeMarches.includes(i)) {
march.classList.add('active');
if (wpCurrentState === 1) {
march.classList.add('march-green');
} else if (wpCurrentState === 3) {
if (i === 6) {
march.classList.add('march-green');
} else {
march.classList.add('march-red');
}
} else if (wpCurrentState === 5) {
march.classList.add('march-orange');
}
}
}
if (arrow) {
if (activeArrows.includes(i)) {
arrow.classList.add('highlight');
if (wpCurrentState === 1) {
arrow.classList.add('arrow-green');
} else if (wpCurrentState === 3) {
if (i === 6) {
arrow.classList.add('arrow-green');
} else {
arrow.classList.add('arrow-red');
}
} else if (wpCurrentState === 5) {
arrow.classList.add('arrow-orange');
}
}
}
}
// Apply dynamic visibility filters for scenarios
const allLines = [1, 2, 3, 4, 5, 6, 7, 8];
const allLabels = ['lbl-pass-yes', 'lbl-pass-no', 'lbl-misp-yes', 'lbl-misp-no'];
allLines.forEach(i => {
const line = document.getElementById(`wp-line${i}`);
const arrow = document.getElementById(`wp-arrow${i}`);
if (line) line.classList.remove('wp-hidden-state');
if (arrow) arrow.classList.remove('wp-hidden-state');
});
allLabels.forEach(id => {
const lbl = document.getElementById(id);
if (lbl) lbl.classList.remove('wp-hidden-state');
});
let hiddenLines = [];
let hiddenLabels = [];
if (wpCurrentState === 1) {
// Scenario 1: Pass
hiddenLines = [3, 4, 5, 6, 7, 8];
hiddenLabels = ['lbl-pass-no', 'lbl-misp-yes', 'lbl-misp-no'];
}
else if (wpCurrentState === 3) {
// Scenario 2: Mispick
hiddenLines = [2, 5, 7, 8];
hiddenLabels = ['lbl-pass-yes', 'lbl-misp-no'];
}
else if (wpCurrentState === 5) {
// Scenario 3: Dim Heal
hiddenLines = [2, 4];
hiddenLabels = ['lbl-pass-yes', 'lbl-misp-yes'];
}
// Apply hidden states
hiddenLines.forEach(i => {
const line = document.getElementById(`wp-line${i}`);
const arrow = document.getElementById(`wp-arrow${i}`);
if (line) line.classList.add('wp-hidden-state');
if (arrow) arrow.classList.add('wp-hidden-state');
});
hiddenLabels.forEach(id => {
const lbl = document.getElementById(id);
if (lbl) lbl.classList.add('wp-hidden-state');
});
}
// Exposed globally under unique names to prevent conflict with other scripts
window.wpJumpToScenario = function(scenarioNum) {
if (scenarioNum === 0) {
wpCurrentState = 0;
} else if (scenarioNum === 1) {
wpCurrentState = 1;
} else if (scenarioNum === 2) {
wpCurrentState = 3;
} else if (scenarioNum === 3) {
wpCurrentState = 5;
}
wpRunCycle();
};
// Start simulation cycle immediately
wpRunCycle();
})();
window.wpbCustomElement = 1;
var leadin_wordpress = {"userRole":"visitor","pageType":"page","leadinPluginVersion":"11.3.75"};
//# sourceURL=leadin-script-loader-js-js-extra
https://packchain.io/wp-content/themes/salient/js/build/third-party/jquery.easing.min.js
https://packchain.io/wp-content/themes/salient/js/build/priority.js
https://packchain.io/wp-content/themes/salient/js/build/third-party/transit.min.js
https://packchain.io/wp-content/themes/salient/js/build/third-party/waypoints.js
https://packchain.io/wp-content/plugins/salient-portfolio/js/third-party/imagesLoaded.min.js
https://packchain.io/wp-content/themes/salient/js/build/third-party/hoverintent.min.js
https://packchain.io/wp-content/themes/salient/js/build/third-party/jquery.fancybox.js
https://packchain.io/wp-content/themes/salient/js/build/third-party/anime.min.js
https://packchain.io/wp-content/themes/salient/js/build/third-party/flickity.js
https://packchain.io/wp-content/themes/salient/js/build/third-party/superfish.js
var nectarLove = {"ajaxurl":"https://packchain.io/wp-admin/admin-ajax.php","postID":"1620","rooturl":"https://packchain.io","disqusComments":"false","loveNonce":"844de7ccc9","mapApiKey":""};
var nectarOptions = {"delay_js":"1","smooth_scroll":"false","smooth_scroll_strength":"50","quick_search":"false","react_compat":"disabled","header_entrance":"false","body_border_func":"default","disable_box_roll_mobile":"off","body_border_mobile":"0","dropdown_hover_intent":"default","simplify_ocm_mobile":"0","mobile_header_format":"default","ocm_btn_position":"default","left_header_dropdown_func":"default","ajax_add_to_cart":"0","ocm_remove_ext_menu_items":"remove_images","woo_product_filter_toggle":"0","woo_sidebar_toggles":"true","woo_sticky_sidebar":"0","woo_minimal_product_hover":"default","woo_minimal_product_effect":"default","woo_related_upsell_carousel":"false","woo_product_variable_select":"default","woo_using_cart_addons":"false","view_transitions_effect":""};
var nectar_front_i18n = {"menu":"Menu","next":"Next","previous":"Previous","close":"Close","slide_of":"Slide %1$s of %2$s","slide":"slide"};
//# sourceURL=nectar-frontend-js-extra
https://packchain.io/wp-content/themes/salient/js/build/init.js
https://packchain.io/wp-content/plugins/salient-core/js/third-party/touchswipe.min.js
https://packchain.io/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-consent-mode-755f1678e260138d789e.js
https://packchain.io/wp-content/plugins/breeze/assets/js/js-front-end/breeze-lazy-load.min.js
document.addEventListener("DOMContentLoaded", function () {
if ( "function" !== typeof window.LazyLoad && "function" !== typeof LazyLoad ) {
return;
}
var breezeLazyLoad = window.LazyLoad || LazyLoad;
window.lazyLoadInstance = new breezeLazyLoad({
elements_selector: ".br-lazy",
data_src: "breeze",
data_srcset: "brsrcset",
data_sizes: "brsizes",
class_loaded: "br-loaded",
threshold: 300,
});
});
//# sourceURL=breeze-lazy-js-after
window._googlesitekit = window._googlesitekit || {};
window._googlesitekit.contentEvents = {"postID":1620,"isReadableSinglePost":false,"hasVimeoEmbed":false,"wordCount":0,"estimatedReadTimeSeconds":0,"isLastPageOfMultiPagePost":false,"readTimeThresholdPercent":85,"minimumReadTimeSeconds":5};
//# sourceURL=googlesitekit-events-provider-content-events-js-before
https://packchain.io/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-6b04077d00f0d606ba42.js
https://packchain.io/wp-content/plugins/js_composer_salient/assets/js/dist/js_composer_front.min.js
https://packchain.io/wp-content/themes/salient/js/build/nectar-delay-javascript.js
window.addEventListener("DOMContentLoaded",(e=>{document.querySelectorAll('img[loading="lazy"]').forEach((e=>{e.getBoundingClientRect().top<=window.innerHeight&&(e.loading="eager")}))}));