[{"data":1,"prerenderedAt":3000},["ShallowReactive",2],{"navigation":3,"\u002Fadvanced\u002Fdocuments":407,"\u002Fadvanced\u002Fdocuments-surround":2995},[4,28,35,78,129,136,153,175,236,272,323,355,377],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting started","\u002Fgetting-started","01.getting-started\u002F01.index",[9,12,17,22],{"title":10,"path":6,"stem":7,"icon":11},"Welcome","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Account Basics","\u002Fgetting-started\u002Fsign-in-and-account","01.getting-started\u002F02.sign-in-and-account","i-lucide-log-in",{"title":18,"path":19,"stem":20,"icon":21},"Navigation Overview","\u002Fgetting-started\u002Fnavigation-overview","01.getting-started\u002F03.navigation-overview","i-lucide-map",{"title":23,"path":24,"stem":25,"icon":26},"Orders vs Shipments","\u002Fgetting-started\u002Forders-vs-shipments","01.getting-started\u002F04.orders-vs-shipments","i-lucide-split","i-lucide-rocket",{"title":29,"path":30,"stem":31,"children":32,"icon":34},"Dashboard","\u002Fdashboard","02.dashboard\u002F01.index",[33],{"title":29,"path":30,"stem":31,"icon":34},"i-lucide-home",{"title":36,"path":37,"stem":38,"children":39,"icon":42},"Orders","\u002Forders","03.orders\u002F01.index",[40,43,48,53,58,63,68,73],{"title":41,"path":37,"stem":38,"icon":42},"Overview","i-lucide-shopping-bag",{"title":44,"path":45,"stem":46,"icon":47},"Search","\u002Forders\u002Fsearch","03.orders\u002F02.search","i-lucide-search",{"title":49,"path":50,"stem":51,"icon":52},"Filters","\u002Forders\u002Ffilters","03.orders\u002F03.filters","i-lucide-filter",{"title":54,"path":55,"stem":56,"icon":57},"Views","\u002Forders\u002Fviews","03.orders\u002F04.views","i-lucide-bookmark",{"title":59,"path":60,"stem":61,"icon":62},"Tags","\u002Forders\u002Ftags","03.orders\u002F05.tags","i-lucide-tag",{"title":64,"path":65,"stem":66,"icon":67},"Columns","\u002Forders\u002Fcolumns","03.orders\u002F06.columns","i-lucide-columns-3",{"title":69,"path":70,"stem":71,"icon":72},"Print & Order sync","\u002Forders\u002Fprint-and-sync","03.orders\u002F07.print-and-sync","i-lucide-printer",{"title":74,"path":75,"stem":76,"icon":77},"Draft Orders","\u002Forders\u002Fdraft-orders","03.orders\u002F08.draft-orders","i-lucide-file-plus",{"title":79,"path":80,"stem":81,"children":82,"icon":84},"Shipments","\u002Fshipments","04.shipments\u002F01.index",[83,85,88,91,94,97,100,104,109,114,119,124],{"title":41,"path":80,"stem":81,"icon":84},"i-lucide-truck",{"title":44,"path":86,"stem":87,"icon":47},"\u002Fshipments\u002Fsearch","04.shipments\u002F02.search",{"title":49,"path":89,"stem":90,"icon":52},"\u002Fshipments\u002Ffilters","04.shipments\u002F03.filters",{"title":54,"path":92,"stem":93,"icon":57},"\u002Fshipments\u002Fviews","04.shipments\u002F04.views",{"title":59,"path":95,"stem":96,"icon":62},"\u002Fshipments\u002Ftags","04.shipments\u002F05.tags",{"title":64,"path":98,"stem":99,"icon":67},"\u002Fshipments\u002Fcolumns","04.shipments\u002F06.columns",{"title":101,"path":102,"stem":103,"icon":62},"Labels & rates","\u002Fshipments\u002Flabels-and-rates","04.shipments\u002F07.labels-and-rates",{"title":105,"path":106,"stem":107,"icon":108},"Split & merge","\u002Fshipments\u002Fsplit-and-merge","04.shipments\u002F08.split-and-merge","i-lucide-git-merge",{"title":110,"path":111,"stem":112,"icon":113},"Local Pickup","\u002Fshipments\u002Flocal-pickup","04.shipments\u002F09.local-pickup","i-lucide-map-pin",{"title":115,"path":116,"stem":117,"icon":118},"Shipment settings","\u002Fshipments\u002Fshipment-settings","04.shipments\u002F10.shipment-settings","i-lucide-settings",{"title":120,"path":121,"stem":122,"icon":123},"Routines","\u002Fshipments\u002Froutines","04.shipments\u002F11.routines","i-lucide-list-checks",{"title":125,"path":126,"stem":127,"icon":128},"Delivery status","\u002Fshipments\u002Fdelivery-status","04.shipments\u002F12.delivery-status","i-lucide-map-pinned",{"title":130,"path":131,"stem":132,"children":133,"icon":135},"Scan & Ship","\u002Fscan-and-ship","05.scan-and-ship\u002F01.index",[134],{"title":130,"path":131,"stem":132,"icon":135},"i-lucide-scan-barcode",{"title":137,"path":138,"stem":139,"children":140,"icon":142},"Products","\u002Fproducts","06.products\u002F01.index",[141,143,148],{"title":41,"path":138,"stem":139,"icon":142},"i-lucide-package",{"title":144,"path":145,"stem":146,"icon":147},"Bulk Editor","\u002Fproducts\u002Fbulk-editor","06.products\u002F02.bulk-editor","i-lucide-table",{"title":149,"path":150,"stem":151,"icon":152},"Batches","\u002Fproducts\u002Fbatches","06.products\u002F03.batches","i-lucide-layers",{"title":154,"path":155,"stem":156,"children":157,"icon":159},"Collaboration","\u002Fcollaboration","07.collaboration\u002F01.index",[158,160,165,170],{"title":41,"path":155,"stem":156,"icon":159},"i-lucide-users",{"title":161,"path":162,"stem":163,"icon":164},"Team","\u002Fcollaboration\u002Fteam","07.collaboration\u002F02.team","i-lucide-user-plus",{"title":166,"path":167,"stem":168,"icon":169},"Roles & permissions","\u002Fcollaboration\u002Froles","07.collaboration\u002F03.roles","i-lucide-shield",{"title":171,"path":172,"stem":173,"icon":174},"Departments","\u002Fcollaboration\u002Fdepartments","07.collaboration\u002F04.departments","i-lucide-building",{"title":176,"path":177,"stem":178,"children":179,"icon":181},"Advanced","\u002Fadvanced","08.advanced\u002F01.index",[180,182,187,191,196,201,205,209,214,218,222,227,232],{"title":41,"path":177,"stem":178,"icon":181},"i-lucide-sliders-horizontal",{"title":183,"path":184,"stem":185,"icon":186},"Custom Fields","\u002Fadvanced\u002Fcustom-fields","08.advanced\u002F02.custom-fields","i-lucide-form-input",{"title":188,"path":189,"stem":190,"icon":72},"Documents","\u002Fadvanced\u002Fdocuments","08.advanced\u002F04.documents",{"title":192,"path":193,"stem":194,"icon":195},"Visibility","\u002Fadvanced\u002Fvisibility","08.advanced\u002F05.visibility","i-lucide-eye",{"title":197,"path":198,"stem":199,"icon":200},"Conditions","\u002Fadvanced\u002Fconditions","08.advanced\u002F06.conditions","i-lucide-brackets",{"title":202,"path":203,"stem":204,"icon":52},"Store Filters & Shipment Filters","\u002Fadvanced\u002Fstore-filters","08.advanced\u002F07.store-filters",{"title":206,"path":207,"stem":208,"icon":62},"Tags (library)","\u002Fadvanced\u002Ftags","08.advanced\u002F08.tags",{"title":210,"path":211,"stem":212,"icon":213},"Automation Rules","\u002Fadvanced\u002Fautomation-rules","08.advanced\u002F09.automation-rules","i-lucide-cpu",{"title":215,"path":216,"stem":217,"icon":128},"Fulfillment Adjustments","\u002Fadvanced\u002Ffulfillment-location-adjustments","08.advanced\u002F10.fulfillment-location-adjustments",{"title":219,"path":220,"stem":221,"icon":72},"Printing","\u002Fadvanced\u002Fprinting","08.advanced\u002F11.printing",{"title":223,"path":224,"stem":225,"icon":226},"Packing Materials","\u002Fadvanced\u002Fpacking-materials","08.advanced\u002F12.packing-materials","i-lucide-box",{"title":228,"path":229,"stem":230,"icon":231},"Hooks","\u002Fadvanced\u002Fhooks","08.advanced\u002F13.hooks","i-lucide-bolt",{"title":233,"path":234,"stem":235,"icon":113},"Locations","\u002Fadvanced\u002Flocations","08.advanced\u002F14.locations",{"title":237,"path":238,"stem":239,"children":240,"icon":242},"Integration","\u002Fintegration","09.integration\u002F01.index",[241,243,248,253,257,262,267],{"title":41,"path":238,"stem":239,"icon":242},"i-lucide-plug",{"title":244,"path":245,"stem":246,"icon":247},"Stores","\u002Fintegration\u002Fstores","09.integration\u002F02.stores","i-lucide-store",{"title":249,"path":250,"stem":251,"icon":252},"Warehouses","\u002Fintegration\u002Fwarehouses","09.integration\u002F03.warehouses","i-lucide-warehouse",{"title":254,"path":255,"stem":256,"icon":84},"Carriers","\u002Fintegration\u002Fcarriers","09.integration\u002F04.carriers",{"title":258,"path":259,"stem":260,"icon":261},"Fulfillment Providers","\u002Fintegration\u002Ffulfillment-providers","09.integration\u002F05.fulfillment-providers","i-lucide-building-2",{"title":263,"path":264,"stem":265,"icon":266},"Collective Partner","\u002Fintegration\u002Fcollective-partner","09.integration\u002F06.collective-partner","i-lucide-handshake",{"title":268,"path":269,"stem":270,"icon":271},"Webhook Status","\u002Fintegration\u002Fwebhook-status","09.integration\u002F07.webhook-status","i-lucide-activity",{"title":273,"path":274,"stem":275,"children":276,"icon":278},"Apps","\u002Fapps","10.apps\u002F01.index",[277,279,284,289,294,299,304,309,313,318],{"title":41,"path":274,"stem":275,"icon":278},"i-lucide-layout-grid",{"title":280,"path":281,"stem":282,"icon":283},"Delivery Calendar","\u002Fapps\u002Fdelivery-calendar","10.apps\u002F02.delivery-calendar","i-lucide-calendar",{"title":285,"path":286,"stem":287,"icon":288},"Add-On Products","\u002Fapps\u002Fadd-on-products","10.apps\u002F03.add-on-products","i-lucide-gift",{"title":290,"path":291,"stem":292,"icon":293},"Upsells","\u002Fapps\u002Fupsells","10.apps\u002F04.upsells","i-lucide-trending-up",{"title":295,"path":296,"stem":297,"icon":298},"Shipping Rates","\u002Fapps\u002Fshipping-rates","10.apps\u002F05.shipping-rates","i-lucide-badge-dollar-sign",{"title":300,"path":301,"stem":302,"icon":303},"Rate Shopper","\u002Fapps\u002Frate-shopper","10.apps\u002F06.rate-shopper","i-lucide-scale",{"title":305,"path":306,"stem":307,"icon":308},"Weather","\u002Fapps\u002Fweather","10.apps\u002F07.weather","i-lucide-cloud-sun",{"title":310,"path":311,"stem":312,"icon":252},"Inventory Management","\u002Fapps\u002Finventory-management","10.apps\u002F08.inventory-management",{"title":314,"path":315,"stem":316,"icon":317},"Carrier Claims","\u002Fapps\u002Fcarrier-claims","10.apps\u002F09.carrier-claims","i-lucide-receipt",{"title":319,"path":320,"stem":321,"icon":322},"POS Extensions","\u002Fapps\u002Fpos-extensions","10.apps\u002F10.pos-extensions","i-lucide-tablet",{"title":324,"path":325,"stem":326,"children":327,"icon":329},"Reports","\u002Freports","11.reports\u002F01.index",[328,330,334,338,342,347,351],{"title":41,"path":325,"stem":326,"icon":329},"i-lucide-bar-chart-3",{"title":331,"path":332,"stem":333,"icon":62},"Shipping labels","\u002Freports\u002Fshipping-labels","11.reports\u002F02.shipping-labels",{"title":335,"path":336,"stem":337,"icon":226},"Packing materials","\u002Freports\u002Fpacking-materials","11.reports\u002F03.packing-materials",{"title":339,"path":340,"stem":341,"icon":159},"Packer performance","\u002Freports\u002Fpacker-performance","11.reports\u002F04.packer-performance",{"title":343,"path":344,"stem":345,"icon":346},"Products & customers","\u002Freports\u002Fproducts-and-customers","11.reports\u002F05.products-and-customers","i-lucide-package-search",{"title":348,"path":349,"stem":350,"icon":62},"Custom field sales","\u002Freports\u002Fcustom-field-sales","11.reports\u002F06.custom-field-sales",{"title":352,"path":353,"stem":354,"icon":181},"Custom report","\u002Freports\u002Fcustom-report","11.reports\u002F07.custom-report",{"title":356,"path":357,"stem":358,"children":359,"icon":361},"Account & alerts","\u002Faccount-and-alerts","12.account-and-alerts\u002F01.index",[360,362,367,372],{"title":41,"path":357,"stem":358,"icon":361},"i-lucide-bell",{"title":363,"path":364,"stem":365,"icon":366},"Profile & billing","\u002Faccount-and-alerts\u002Fprofile-and-billing","12.account-and-alerts\u002F02.profile-and-billing","i-lucide-credit-card",{"title":368,"path":369,"stem":370,"icon":371},"Alerts","\u002Faccount-and-alerts\u002Falerts","12.account-and-alerts\u002F03.alerts","i-lucide-triangle-alert",{"title":373,"path":374,"stem":375,"icon":376},"AI assistants (MCP)","\u002Faccount-and-alerts\u002Fai-assistants","12.account-and-alerts\u002F04.ai-assistants","i-lucide-bot",{"title":378,"path":379,"stem":380,"children":381,"icon":384},"FAQ","\u002Ffaq","13.faq\u002F01.index",[382,385,389,393,397,400,403],{"title":383,"path":379,"stem":380,"icon":384},"FAQ overview","i-lucide-circle-help",{"title":386,"path":387,"stem":388,"icon":366},"Account, plans & billing","\u002Ffaq\u002Faccount-and-billing","13.faq\u002F02.account-and-billing",{"title":390,"path":391,"stem":392,"icon":42},"Orders & sync","\u002Ffaq\u002Forders-and-sync","13.faq\u002F03.orders-and-sync",{"title":394,"path":395,"stem":396,"icon":84},"Shipments & labels","\u002Ffaq\u002Fshipments-and-labels","13.faq\u002F04.shipments-and-labels",{"title":273,"path":398,"stem":399,"icon":278},"\u002Ffaq\u002Fapps","13.faq\u002F05.apps",{"title":324,"path":401,"stem":402,"icon":329},"\u002Ffaq\u002Freports","13.faq\u002F06.reports",{"title":404,"path":405,"stem":406,"icon":159},"Team & access","\u002Ffaq\u002Fteam-and-access","13.faq\u002F07.team-and-access",{"id":408,"title":188,"body":409,"description":2988,"extension":2989,"links":2990,"meta":2991,"navigation":2992,"path":189,"seo":2993,"stem":190,"__hash__":2994},"docs\u002F08.advanced\u002F04.documents.md",{"type":410,"value":411,"toc":2961},"minimark",[412,417,435,439,449,453,571,574,578,666,693,698,805,812,823,834,838,851,1029,1062,1091,1096,1102,1141,1145,1151,1186,1203,1254,1257,1262,1641,1667,1671,1684,1786,1845,1848,1868,1874,1881,1884,1897,1900,1990,2008,2021,2107,2117,2120,2149,2152,2157,2167,2253,2268,2271,2274,2302,2315,2322,2326,2343,2347,2354,2389,2393,2420,2432,2446,2450,2465,2505,2514,2518,2536,2542,2605,2608,2612,2641,2646,2753,2760,2764,2907,2911],[413,414,416],"h2",{"id":415},"intro","Intro",[418,419,420,423,424,427,428,431,432,434],"p",{},[421,422,188],"strong",{}," controls the layouts your team prints — picking lists to pull stock, packing slips for the box, invoices, manifests, item labels, and the pickup slip. Once configured, they print from the ",[421,425,426],{},"Print"," menus on ",[429,430,36],"a",{"href":70}," and ",[429,433,79],{"href":80},".",[413,436,438],{"id":437},"purpose","Purpose",[440,441,442,446],"ul",{},[443,444,445],"li",{},"One consistent layout per document type for the whole store",[443,447,448],{},"Include exactly the fields your bench and customers need — including custom fields and destination weather",[413,450,452],{"id":451},"document-types","Document types",[454,455,456,469],"table",{},[457,458,459],"thead",{},[460,461,462,466],"tr",{},[463,464,465],"th",{},"Type",[463,467,468],{},"Moment",[470,471,472,487,497,509,519,529,539,549,561],"tbody",{},[460,473,474,484],{},[475,476,477,480,481],"td",{},[421,478,479],{},"Picking List"," \u002F ",[421,482,483],{},"Order Pick List",[475,485,486],{},"Pulling stock for one shipment or order",[460,488,489,494],{},[475,490,491],{},[421,492,493],{},"Batch Pick List",[475,495,496],{},"Pulling stock for many shipments at once, grouped and sorted for the warehouse walk",[460,498,499,504],{},[475,500,501],{},[421,502,503],{},"Packing Slip",[475,505,506,507],{},"In the box; barcode source for ",[429,508,130],{"href":131},[460,510,511,516],{},[475,512,513],{},[421,514,515],{},"Invoice",[475,517,518],{},"Customer or B2B paperwork",[460,520,521,526],{},[475,522,523],{},[421,524,525],{},"Returns Slip",[475,527,528],{},"Included for returns",[460,530,531,536],{},[475,532,533],{},[421,534,535],{},"Shipment Manifest",[475,537,538],{},"Carrier handoff at end of day",[460,540,541,546],{},[475,542,543],{},[421,544,545],{},"Item Label",[475,547,548],{},"One label per unit (per-quantity printing)",[460,550,551,556],{},[475,552,553],{},[421,554,555],{},"Local Pickup Slip",[475,557,558,559],{},"Counter handover — see ",[429,560,110],{"href":111},[460,562,563,568],{},[475,564,565],{},[421,566,567],{},"Custom Document",[475,569,570],{},"Anything else",[418,572,573],{},"Every store starts with sensible defaults for each type; edit them or create additional documents.",[413,575,577],{"id":576},"configure-a-document","Configure a document",[579,580,581,588,623,653,659],"ol",{},[443,582,583,584,587],{},"Open ",[421,585,586],{},"Advanced → Documents"," and create a document or open an existing one.",[443,589,590,591,594,595,598,599,598,602,598,605,598,608,611,612,615,616,480,619,622],{},"Choose the ",[421,592,593],{},"type",", then the page: ",[421,596,597],{},"A4",", ",[421,600,601],{},"Letter",[421,603,604],{},"Legal",[421,606,607],{},"A5",[421,609,610],{},"A3",", or ",[421,613,614],{},"Custom (inches)","; ",[421,617,618],{},"Portrait",[421,620,621],{},"Landscape","; margins.",[443,624,625,626,598,629,598,632,635,636,639,640,643,644,648,649,652],{},"Edit the ",[421,627,628],{},"Header",[421,630,631],{},"Body",[421,633,634],{},"Footer",", and ",[421,637,638],{},"CSS"," tabs. Use ",[421,641,642],{},"Insert variable"," to place data — see ",[429,645,647],{"href":646},"#template-variables","Template variables",". Turn on ",[421,650,651],{},"Tailwind CSS"," to use utility classes instead of writing CSS.",[443,654,655,656,658],{},"In ",[421,657,219],{},", set the defaults the print preview starts from — see the table below.",[443,660,661,662,665],{},"Watch the ",[421,663,664],{},"live preview",": it renders with sample data until you pick one or more real shipments (or orders) in the preview picker, which is the quickest way to check bins, metafields and custom fields on your own data. Save, then print a test from a shipment.",[418,667,668,669,671,672,675,676,680,681,684,685,688,689,692],{},"From the ",[421,670,188],{}," list each row offers ",[421,673,674],{},"Duplicate"," (copy layout and printing defaults under a new name — the starting point for ",[429,677,679],{"href":678},"#one-template-per-product-group","one template per product group","), ",[421,682,683],{},"Activate \u002F Deactivate"," (inactive documents disappear from Print menus but keep their layout) and ",[421,686,687],{},"Delete","; a star marks the ",[421,690,691],{},"Default"," document of each type, set in the editor.",[694,695,697],"h3",{"id":696},"printing-defaults","Printing defaults",[454,699,700,710],{},[457,701,702],{},[460,703,704,707],{},[463,705,706],{},"Setting",[463,708,709],{},"What it does",[470,711,712,733,747,757,776,786,796],{},[460,713,714,719],{},[475,715,716],{},[421,717,718],{},"Group items by",[475,720,721,722,725,726,729,730],{},"Consolidated lists only (Batch Pick List, Manifest): one row per ",[421,723,724],{},"SKU + bin",", per ",[421,727,728],{},"SKU",", or per ",[421,731,732],{},"SKU + warehouse location",[460,734,735,740],{},[475,736,737],{},[421,738,739],{},"Sort rows by",[475,741,742,743,746],{},"Default row order, e.g. ",[421,744,745],{},"Bin location"," so pickers walk the warehouse in order",[460,748,749,754],{},[475,750,751],{},[421,752,753],{},"Default location",[475,755,756],{},"Only print item rows stocked at this Shopify location. Empty = all locations",[460,758,759,764],{},[475,760,761],{},[421,762,763],{},"Default condition",[475,765,766,767,770,771,775],{},"A ",[429,768,769],{"href":198},"Condition"," applied whenever this document prints — e.g. ",[772,773,774],"em",{},"Fish products",". Empty = none",[460,777,778,783],{},[475,779,780],{},[421,781,782],{},"Per quantity",[475,784,785],{},"Item labels: one label per unit \u002F pack instead of one page per shipment",[460,787,788,793],{},[475,789,790],{},[421,791,792],{},"Consolidate",[475,794,795],{},"One combined document for the whole selection instead of one page per shipment",[460,797,798,802],{},[475,799,800],{},[421,801,691],{},[475,803,804],{},"Preselected in the Print menu for its type",[418,806,807,808,811],{},"Location and condition are ",[421,809,810],{},"defaults, not locks",": the print preview preselects them and the operator can change them for one print without touching the document.",[418,813,814,815,818,819,434],{},"Templates use ",[421,816,817],{},"Mustache"," syntax. The short example below prints weather only when a forecast exists; the full syntax table is in ",[429,820,822],{"href":821},"#template-syntax-mustache","Template syntax",[824,825,830],"pre",{"className":826,"code":828,"language":829},[827],"language-text","{{# weather }}Destination: {{ low }}–{{ high }}{{ unit }} · {{ condition }}{{\u002F weather }}\n","text",[831,832,828],"code",{"__ignoreMap":833},"",[694,835,837],{"id":836},"template-syntax-mustache","Template syntax (Mustache)",[418,839,840,841,844,845,431,847,850],{},"Documents are HTML plus Mustache tags. Nothing outside ",[831,842,843],{},"{{ … }}"," is evaluated. The editor's ",[421,846,642],{},[421,848,849],{},"Helpers"," insert the same tags.",[454,852,853,865],{},[457,854,855],{},[460,856,857,860,863],{},[463,858,859],{},"Syntax",[463,861,862],{},"Name",[463,864,709],{},[470,866,867,880,896,929,953,982,998,1010],{},[460,868,869,874,877],{},[475,870,871],{},[831,872,873],{},"{{ name }}",[475,875,876],{},"Variable",[475,878,879],{},"Prints the value. Empty values print nothing (no error). HTML in the value is escaped.",[460,881,882,887,890],{},[475,883,884],{},[831,885,886],{},"{{{ name }}}",[475,888,889],{},"Unescaped",[475,891,892,893,895],{},"Same as ",[831,894,873],{}," but allows HTML through — only use for trusted markup.",[460,897,898,903,906],{},[475,899,900],{},[831,901,902],{},"{{# section }}…{{\u002F section }}",[475,904,905],{},"Section (if \u002F loop)",[475,907,908,909,912,913,916,917,920,921,924,925,928],{},"If ",[831,910,911],{},"section"," is a ",[421,914,915],{},"list",", repeats the block once per item (each item is the current context). If it is a ",[421,918,919],{},"truthy"," value (",[831,922,923],{},"true",", non-empty string, non-empty object), prints the block once. If missing \u002F empty \u002F ",[831,926,927],{},"false",", prints nothing.",[460,930,931,936,939],{},[475,932,933],{},[831,934,935],{},"{{^ section }}…{{\u002F section }}",[475,937,938],{},"Inverted section",[475,940,941,942,945,946,948,949,952],{},"The opposite of ",[831,943,944],{},"#",": prints the block only when the value is missing, empty, or ",[831,947,927],{}," — useful for fallbacks (",[831,950,951],{},"{{^ sku }}-{{\u002F sku }}",").",[460,954,955,960,963],{},[475,956,957],{},[831,958,959],{},"{{> partial }}",[475,961,962],{},"Partial",[475,964,965,966,598,969,598,972,598,975,598,978,981],{},"Inserts a reusable snippet from the helper list (",[831,967,968],{},"row_messages",[831,970,971],{},"head_messages",[831,973,974],{},"shopped_tag",[831,976,977],{},"shopped_service",[831,979,980],{},"bin_cell",", …).",[460,983,984,989,992],{},[475,985,986],{},[831,987,988],{},"{{# barcode }}…{{\u002F barcode }}",[475,990,991],{},"Helper",[475,993,994,995,997],{},"Renders the inner value as a Code 128 barcode SVG (what ",[429,996,130],{"href":131}," reads).",[460,999,1000,1005,1007],{},[475,1001,1002],{},[831,1003,1004],{},"{{# qr }}…{{\u002F qr }}",[475,1006,991],{},[475,1008,1009],{},"Renders a QR code SVG.",[460,1011,1012,1017,1019],{},[475,1013,1014],{},[831,1015,1016],{},"{{# money }}…{{\u002F money }}",[475,1018,991],{},[475,1020,1021,1022,1025,1026,952],{},"Formats a number as money (",[831,1023,1024],{},"12.5"," → ",[831,1027,1028],{},"12.50",[418,1030,1031,1034,1035,598,1038,598,1041,598,1044,598,1047,1050,1051,1053,1054,1057,1058,1061],{},[421,1032,1033],{},"Truthiness for sections."," Use flags the renderer provides — ",[831,1036,1037],{},"has_discount",[831,1039,1040],{},"has_messages",[831,1042,1043],{},"has_shopped_rate",[831,1045,1046],{},"has_multiple_bins",[831,1048,1049],{},"shipment.local_pickup"," — rather than guessing. A missing Rate Shopper result makes ",[831,1052,1043],{}," false, so ",[831,1055,1056],{},"{{# shipment.has_shopped_rate }}…{{\u002F shipment.has_shopped_rate }}"," (and the ",[831,1059,1060],{},"shopped_*"," partials) stay blank.",[418,1063,1064,1067,1068,598,1071,598,1074,598,1077,1080,1081,1084,1085,1088,1089,952],{},[421,1065,1066],{},"Nested paths."," Dot notation walks the context: ",[831,1069,1070],{},"{{ shipment.label }}",[831,1072,1073],{},"{{ shipping.postal_code }}",[831,1075,1076],{},"{{ metafields.binlocation }}",[831,1078,1079],{},"{{ custom_fields.item_bin_location }}",". Inside a loop the current row is the context (",[831,1082,1083],{},"{{ sku }}"," inside ",[831,1086,1087],{},"{{# items }}","), and you can still reach parents (",[831,1090,1070],{},[418,1092,1093],{},[421,1094,1095],{},"Common patterns",[824,1097,1100],{"className":1098,"code":1099,"language":829},[827],"{{# items }}\n  {{ name }} · {{ sku }}\n  {{# has_discount }}was ${{ price }}{{\u002F has_discount }}\n{{\u002F items }}\n\n{{# shipment.has_shopped_rate }}\n  Shopped {{ shipment.shopped_label }} ${{ shipment.shopped_amount }}\n{{\u002F shipment.has_shopped_rate }}\n{{^ shipment.has_shopped_rate }}\n  \u003Cspan class=\"muted\">Not shopped\u003C\u002Fspan>\n{{\u002F shipment.has_shopped_rate }}\n\n{{> shopped_tag }}\n{{> shopped_service }}\n",[831,1101,1099],{"__ignoreMap":833},[418,1103,1104,1105,1108,1109,598,1112,598,1115,611,1118,1121,1122,1124,1125,1127,1128,635,1131,1135,1136,480,1138,434],{},"Mustache has ",[421,1106,1107],{},"no"," ",[831,1110,1111],{},"\u003C",[831,1113,1114],{},">",[831,1116,1117],{},"=",[831,1119,1120],{},"contains"," operators inside the template. Comparisons live in ",[429,1123,197],{"href":198}," (document ",[421,1126,763],{},", print ",[421,1129,1130],{},"Filter rows by condition",[429,1132,1134],{"href":1133},"#messages-on-documents","document messages","). In the template you only show or hide blocks with ",[831,1137,944],{},[831,1139,1140],{},"^",[694,1142,1144],{"id":1143},"bin-location-on-pick-lists","Bin location on pick lists",[418,1146,1147,1150],{},[831,1148,1149],{},"{{ bin_location }}"," on an item row resolves in this order:",[579,1152,1153,1160,1180],{},[443,1154,1155,1156,1159],{},"A product or variant metafield synced for bin location (e.g. ",[831,1157,1158],{},"custom.bin_location",")",[443,1161,766,1162,1165,1166,1169,1170,1173,1174,1177,1178,1159],{},[421,1163,1164],{},"line-item custom field"," whose name contains ",[772,1167,1168],{},"bin"," — e.g. ",[421,1171,1172],{},"Item Bin Location"," captured from ",[831,1175,1176],{},"variant.metafield:custom.bin_location"," (see ",[429,1179,183],{"href":184},[443,1181,1182,1183],{},"Otherwise ",[831,1184,1185],{},"-",[418,1187,1188,1189,1191,1192,598,1195,1198,1199,1202],{},"To print a specific custom field regardless of its name, use its slug: ",[831,1190,1079],{}," (the field name lower-cased with underscores). Custom fields and metafields can also be sort columns (",[831,1193,1194],{},"custom_fields.\u003Cslug>",[831,1196,1197],{},"metafields.\u003Ckey>","). The Shopify location ",[772,1200,1201],{},"id"," is never printed as a bin.",[418,1204,1205,1208,1209,1212,1213,1215,1216,1219,1220,598,1223,1225,1226,1229,1230,598,1233,598,1236,598,1239,1242,1243,1246,1247,1249,1250,1253],{},[421,1206,1207],{},"Bins per location."," When ",[429,1210,1211],{"href":234},"Advanced → Locations"," maps a bin metafield to a location, ",[831,1214,1149],{}," follows the ",[421,1217,1218],{},"Location"," chosen in the print dialog: a mapped location prints its own metafield (falling back to the default above), an unmapped one prints the default. With ",[421,1221,1222],{},"All locations",[831,1224,1046],{}," is true and the ",[831,1227,1228],{},"bins"," loop lists one entry per mapped location that has a value — ",[831,1231,1232],{},"location",[831,1234,1235],{},"location_short",[831,1237,1238],{},"key",[831,1240,1241],{},"value",". The seeded pick lists already print ",[831,1244,1245],{},"{{# has_multiple_bins }}{{# bins }}{{ location_short }} {{ value }}{{\u002F bins }}{{\u002F has_multiple_bins }}"," and fall back to ",[831,1248,1149],{},"; the ",[421,1251,1252],{},"Bin per location"," helper snippet inserts the same block. The AI assistant can make that edit too: it reads the template and saves the new HTML, and shows you the before and after before anything is saved.",[694,1255,647],{"id":1256},"template-variables",[418,1258,1259,1261],{},[421,1260,642],{}," lists everything available for the document's scope and drops it into the pane you are editing. The main groups:",[454,1263,1264,1274],{},[457,1265,1266],{},[460,1267,1268,1271],{},[463,1269,1270],{},"Group",[463,1272,1273],{},"Examples",[470,1275,1276,1315,1330,1356,1438,1468,1498,1534,1557,1573,1592,1610],{},[460,1277,1278,1286],{},[475,1279,1280,480,1283],{},[421,1281,1282],{},"Shipment",[421,1284,1285],{},"Order",[475,1287,1288,598,1291,598,1294,598,1297,598,1300,598,1303,598,1306,598,1309,598,1312],{},[831,1289,1290],{},"shipment.label",[831,1292,1293],{},"shipment.full_label",[831,1295,1296],{},"shipment.delivery_date",[831,1298,1299],{},"shipment.shipby_date",[831,1301,1302],{},"shipment.staff_picked_by",[831,1304,1305],{},"shipment.notes_text",[831,1307,1308],{},"order.label",[831,1310,1311],{},"order.order_date",[831,1313,1314],{},"order.payment_status",[460,1316,1317,1323],{},[475,1318,1319,1322],{},[421,1320,1321],{},"Shopped rate"," (Rate Shopper)",[475,1324,1325,1326],{},"See ",[429,1327,1329],{"href":1328},"#shopped-carrier--service-rate-shopper","Shopped carrier & service",[460,1331,1332,1344],{},[475,1333,1334,598,1337,598,1340,1343],{},[421,1335,1336],{},"Customer",[421,1338,1339],{},"Shipping address",[421,1341,1342],{},"Billing address"," (order scope)",[475,1345,1346,598,1349,598,1352,1355],{},[831,1347,1348],{},"customer.full_name",[831,1350,1351],{},"shipping.address_1",[831,1353,1354],{},"shipping.postal_code",", …",[460,1357,1358,1363],{},[475,1359,1360],{},[421,1361,1362],{},"Items (loop)",[475,1364,1365,1368,1369,598,1372,598,1375,598,1378,598,1381,598,1384,598,1387,598,1390,598,1393,598,1396,598,1398,598,1401,598,1403,598,1406,1408,1409,1411,1412,1415,1416,598,1419,598,1422,1424,1425,1427,1428,680,1430,1433,1434,598,1436],{},[831,1366,1367],{},"{{# items }} … {{\u002F items }}"," with ",[831,1370,1371],{},"line_number",[831,1373,1374],{},"name",[831,1376,1377],{},"sku",[831,1379,1380],{},"barcode",[831,1382,1383],{},"quantity",[831,1385,1386],{},"price",[831,1388,1389],{},"discounted_price",[831,1391,1392],{},"line_discount",[831,1394,1395],{},"line_total",[831,1397,1037],{},[831,1399,1400],{},"vendor",[831,1402,593],{},[831,1404,1405],{},"image",[831,1407,1232],{}," (fulfillment location name), ",[831,1410,1235],{}," (the text before ",[831,1413,1414],{},"|",", e.g. Online), ",[831,1417,1418],{},"locations_text",[831,1420,1421],{},"bin_location",[831,1423,1046],{}," + ",[831,1426,1228],{}," loop (per-location bins, see ",[429,1429,233],{"href":234},[831,1431,1432],{},"order_label"," (which order the line came from on merged shipments), ",[831,1435,1197],{},[831,1437,1194],{},[460,1439,1440,1446],{},[475,1441,1442,1445],{},[421,1443,1444],{},"Item label"," (per-quantity documents)",[475,1447,1448,598,1451,598,1454,598,1457,1460,1461,480,1464,1467],{},[831,1449,1450],{},"item.name",[831,1452,1453],{},"item.sku",[831,1455,1456],{},"item.quantity",[831,1458,1459],{},"item.sequence"," (\"2 of 3\"), ",[831,1462,1463],{},"item.label_index",[831,1465,1466],{},"item.label_count",", plus the same metafield and custom-field tokens",[460,1469,1470,1475],{},[475,1471,1472],{},[421,1473,1474],{},"Supplies — consolidated (loop)",[475,1476,1477,1478,1481,1482,1484,1485,1488,1489,1492,1493,480,1496],{},"Batch Pick List \u002F Manifest only: ",[831,1479,1480],{},"{{# supplies }}"," rows grouped per ",[421,1483,718],{},", with ",[831,1486,1487],{},"required"," (total units) and a nested ",[831,1490,1491],{},"{{# orders }}"," loop of ",[831,1494,1495],{},"label",[831,1497,1383],{},[460,1499,1500,1505],{},[475,1501,1502],{},[421,1503,1504],{},"Messages (loop)",[475,1506,1507,431,1509,1368,1512,598,1514,598,1517,1519,1520,431,1523,1526,1527,1530,1531],{},[831,1508,1040],{},[831,1510,1511],{},"{{# messages }}{{ text }}{{\u002F messages }}",[831,1513,829],{},[831,1515,1516],{},"style",[831,1518,1374],{}," — at the top level (shipment \u002F order messages), inside ",[831,1521,1522],{},"items",[831,1524,1525],{},"supplies"," (per-line messages) and as ",[831,1528,1529],{},"item.messages"," on item labels; see ",[429,1532,1533],{"href":1133},"Messages on documents",[460,1535,1536,1541],{},[475,1537,1538],{},[421,1539,1540],{},"Merged orders",[475,1542,1543,1546,1547,598,1550,635,1553,1556],{},[831,1544,1545],{},"{{# all_orders }}{{ label }}{{\u002F all_orders }}"," lists every order on the shipment (or in the whole batch); ",[831,1548,1549],{},"merged_shipments",[831,1551,1552],{},"has_merges",[831,1554,1555],{},"all_order_labels"," cover the merge lineage",[460,1558,1559,1564],{},[475,1560,1561],{},[421,1562,1563],{},"Product metafield",[475,1565,1566,1567,1570,1571],{},"Any synced ",[831,1568,1569],{},"custom.*"," key — type it or pick from the chips: ",[831,1572,1076],{},[460,1574,1575,1582],{},[475,1576,1577,480,1579],{},[421,1578,305],{},[421,1580,1581],{},"Named addresses",[475,1583,1584,1585,1588,1589,1591],{},"Destination forecast and ",[831,1586,1587],{},"addresses.\u003Ckey>"," blocks from the ",[429,1590,305],{"href":306}," app",[460,1593,1594,1607],{},[475,1595,1596,598,1598,598,1601,598,1604],{},[421,1597,59],{},[421,1599,1600],{},"Notes",[421,1602,1603],{},"Shipping methods",[421,1605,1606],{},"Units by product type",[475,1608,1609],{},"Loops over the shipment's tags, notes, shipping lines, and per-type unit counts",[460,1611,1612,1623],{},[475,1613,1614,598,1617,598,1620],{},[421,1615,1616],{},"Store",[421,1618,1619],{},"Totals",[421,1621,1622],{},"Document",[475,1624,1625,598,1628,598,1631,598,1634,598,1637,1640],{},[831,1626,1627],{},"store.name",[831,1629,1630],{},"store.logo",[831,1632,1633],{},"totals.quantity",[831,1635,1636],{},"generated_at",[831,1638,1639],{},"count"," (shipments in the batch)",[418,1642,1643,1644,1647,1648,1650,1651,1653,1654,1657,1658,1660,1661,598,1663,635,1665,434],{},"Helpers wrap a value: ",[831,1645,1646],{},"{{# barcode }}{{ shipment.label }}{{\u002F barcode }}"," renders a Code 128 barcode (what ",[429,1649,130],{"href":131}," reads), ",[831,1652,1004],{}," a QR code, ",[831,1655,1656],{},"{{# money }}{{ price }}{{\u002F money }}"," a formatted amount. See ",[429,1659,822],{"href":821}," for ",[831,1662,944],{},[831,1664,1140],{},[831,1666,1114],{},[694,1668,1670],{"id":1669},"shopped-carrier-service-rate-shopper","Shopped carrier & service (Rate Shopper)",[418,1672,1673,1674,1676,1677,431,1680,1683],{},"When ",[429,1675,300],{"href":301}," has picked a winner for the shipment, the same values as the ",[421,1678,1679],{},"Shopped Carrier",[421,1681,1682],{},"Shopped Service"," columns on the Shipments table are available on the document. Nothing is invented at print time — if the column is a dash on the table, the tokens stay empty and the partials print nothing.",[454,1685,1686,1696],{},[457,1687,1688],{},[460,1689,1690,1693],{},[463,1691,1692],{},"Token",[463,1694,1695],{},"Meaning",[470,1697,1698,1713,1735,1751,1764,1776],{},[460,1699,1700,1705],{},[475,1701,1702],{},[831,1703,1704],{},"shipment.has_shopped_rate",[475,1706,1707,1709,1710,1159],{},[831,1708,923],{}," when a winner exists (use with ",[831,1711,1712],{},"{{# … }}",[460,1714,1715,1720],{},[475,1716,1717],{},[831,1718,1719],{},"shipment.shopped_carrier",[475,1721,1722,1723,598,1726,598,1729,598,1732],{},"Display name — ",[831,1724,1725],{},"FedEx",[831,1727,1728],{},"UPS",[831,1730,1731],{},"USPS",[831,1733,1734],{},"DHL",[460,1736,1737,1742],{},[475,1738,1739],{},[831,1740,1741],{},"shipment.shopped_service",[475,1743,1744,1745,598,1748],{},"Human service name — ",[831,1746,1747],{},"FedEx Ground",[831,1749,1750],{},"UPS · 2nd Day Air",[460,1752,1753,1758],{},[475,1754,1755],{},[831,1756,1757],{},"shipment.shopped_label",[475,1759,1760,1761,1159],{},"Best single string for a pill or line (avoids ",[831,1762,1763],{},"FedEx · FedEx Ground",[460,1765,1766,1771],{},[475,1767,1768],{},[831,1769,1770],{},"shipment.shopped_amount",[475,1772,1773,1774],{},"Winner amount as ",[831,1775,1028],{},[460,1777,1778,1783],{},[475,1779,1780],{},[831,1781,1782],{},"shipment.shopped_currency",[475,1784,1785],{},"Currency code when present",[454,1787,1788,1800],{},[457,1789,1790],{},[460,1791,1792,1794,1797],{},[463,1793,962],{},[463,1795,1796],{},"Prints",[463,1798,1799],{},"Seeded on",[470,1801,1802,1821],{},[460,1803,1804,1809,1815],{},[475,1805,1806],{},[831,1807,1808],{},"{{> shopped_tag }}",[475,1810,1811,1812],{},"Green supporting pill with ",[831,1813,1814],{},"shopped_label",[475,1816,1817,1818],{},"Order Pick List, next to shipment ",[421,1819,1820],{},"tags",[460,1822,1823,1828,1839],{},[475,1824,1825],{},[831,1826,1827],{},"{{> shopped_service }}",[475,1829,1830,1831,1108,1834,1108,1836],{},"A line: ",[772,1832,1833],{},"Shopped",[831,1835,1495],{},[831,1837,1838],{},"$amount",[475,1840,1841,1842],{},"Order Pick List and Order Slip \u002F packing-style headers, under ",[421,1843,1844],{},"Service",[418,1846,1847],{},"Needs the Rate Shopper app on the plan. Custom templates: insert the helpers from the editor list, or ask the AI assistant to add them (it will preview the HTML change first).",[418,1849,1850,1108,1853,1855,1856,1858,1859,1861,1862,1864,1865,1867],{},[421,1851,1852],{},"Prices and discounts.",[831,1854,1386],{}," is the raw unit price, before any line discount. When a line is discounted, ",[831,1857,1389],{}," is the unit price the customer actually pays, ",[831,1860,1392],{}," the amount taken off, and ",[831,1863,1395],{}," the discounted quantity × price — the same figures the shipment page shows. ",[831,1866,1037],{}," lets a template strike through the original only when there is one:",[824,1869,1872],{"className":1870,"code":1871,"language":829},[827],"{{# money }}{{ discounted_price }}{{\u002F money }}\n{{# has_discount }}\u003Cs>{{# money }}{{ price }}{{\u002F money }}\u003C\u002Fs>{{\u002F has_discount }}\n",[831,1873,1871],{"__ignoreMap":833},[418,1875,1876,1877,1880],{},"A 100% line discount prints ",[831,1878,1879],{},"0.00",", not the full price. Product thumbnails are cached and embedded when a PDF is generated, so a batch of a few hundred lines does not wait on the Shopify CDN.",[413,1882,1533],{"id":1883},"messages-on-documents",[418,1885,1886,1889,1890,1892,1893,1896],{},[421,1887,1888],{},"Advanced → Documents → Messages"," (Pro and Enterprise) prints a short note on a document when a ",[429,1891,769],{"href":198}," matches — \"Add a heat pack\" under every frozen line, \"Fragile — double box\" at the top of orders tagged ",[772,1894,1895],{},"fragile",", \"Pick from the cold room\" next to items stocked at a given location. Nothing is stored on the order or shipment: messages are resolved every time a document renders, so changing a message or its condition changes the next print, including reprints of old shipments.",[418,1898,1899],{},"A message has:",[454,1901,1902,1911],{},[457,1903,1904],{},[460,1905,1906,1909],{},[463,1907,1908],{},"Field",[463,1910,1695],{},[470,1912,1913,1922,1943,1968,1981],{},[460,1914,1915,1919],{},[475,1916,1917],{},[421,1918,769],{},[475,1920,1921],{},"Any condition, active or not. Leave empty to always print.",[460,1923,1924,1929],{},[475,1925,1926],{},[421,1927,1928],{},"Where",[475,1930,1931,1934,1935,1938,1939,1942],{},[421,1932,1933],{},"Per matching line"," (the condition's ",[772,1936,1937],{},"Product item"," rules decide which lines; shipment \u002F order \u002F customer rules gate the whole document) or ",[421,1940,1941],{},"Once per shipment \u002F order"," (near the header when the shipment matches). Where the note sits on the page is decided by the template partial — see below.",[460,1944,1945,1950],{},[475,1946,1947],{},[421,1948,1949],{},"Message",[475,1951,1952,1953,598,1955,1958,1959,598,1961,598,1964,1967],{},"Up to 1000 characters. Tokens work the same way as in templates: ",[831,1954,1083],{},[831,1956,1957],{},"{{ location }}"," and the other item tokens for per-line messages, ",[831,1960,1070],{},[831,1962,1963],{},"{{ order.label }}",[831,1965,1966],{},"{{ customer.full_name }}"," for both.",[460,1969,1970,1975],{},[475,1971,1972],{},[421,1973,1974],{},"Style",[475,1976,1977,1980],{},[421,1978,1979],{},"Plain"," (default — just the text, same line as surrounding content) or a coloured pill: Info (blue), Warning (amber), Danger (red), Success (green). Use a pill when the note must stand out; keep Plain for quiet bench notes like \"Back in bin location.\"",[460,1982,1983,1987],{},[475,1984,1985],{},[421,1986,188],{},[475,1988,1989],{},"Limit the message to some documents; empty means every document.",[418,1991,1992,1993,1996,1997,2000,2001,480,2004,2007],{},"New messages start as ",[421,1994,1995],{},"drafts",". ",[421,1998,1999],{},"Test on a shipment"," (per message, or for all of them from the toolbar) runs the real engine on a real shipment and shows which messages print at the top and on which lines — drafts included — then switch the message on. Messages print in list order; use ",[772,2002,2003],{},"Move up",[772,2005,2006],{},"Move down"," to change it.",[418,2009,2010,2013,2014,2017,2018,952],{},[421,2011,2012],{},"Where they appear on the page."," Templates print messages wherever they contain one of the partials. Partials are ",[421,2015,2016],{},"inline",", so Plain text sits on the same line as the surrounding words (e.g. ",[831,2019,2020],{},"Orders: #158464 (qty: 4)  Back in Bin Location.",[454,2022,2023,2034],{},[457,2024,2025],{},[460,2026,2027,2029,2031],{},[463,2028,962],{},[463,2030,1796],{},[463,2032,2033],{},"Already in",[470,2035,2036,2060,2073,2088],{},[460,2037,2038,2043,2046],{},[475,2039,2040],{},[831,2041,2042],{},"{{> row_messages }}",[475,2044,2045],{},"Per-line messages for that item \u002F supplies row",[475,2047,2048,2051,2052,2055,2056,2059],{},[421,2049,2050],{},"Batch Pick List \u002F Pick Slip:"," on the ",[421,2053,2054],{},"Orders:"," line next to the order numbers. ",[421,2057,2058],{},"Other seeded templates"," (picking list, packing slip, invoice, local pickup, manifest, order pick list): next to the item name",[460,2061,2062,2067,2070],{},[475,2063,2064],{},[831,2065,2066],{},"{{> head_messages }}",[475,2068,2069],{},"Shipment \u002F order messages, once, near the header",[475,2071,2072],{},"The seeded templates, next to the notes \u002F ship-to block",[460,2074,2075,2080,2085],{},[475,2076,2077],{},[831,2078,2079],{},"{{> item_messages }}",[475,2081,2082,2083,1159],{},"Per-line messages on an item label (",[831,2084,1529],{},[475,2086,2087],{},"Both seeded item labels",[460,2089,2090,2095,2104],{},[475,2091,2092],{},[831,2093,2094],{},"{{# messages }}…{{\u002F messages }}",[475,2096,2097,2098,598,2100,431,2102],{},"Your own markup with ",[831,2099,829],{},[831,2101,1516],{},[831,2103,1374],{},[475,2105,2106],{},"—",[418,2108,2109,2110,480,2113,2116],{},"Existing stores get the partials added (and Pick Slip \u002F Batch Pick List relocated onto the Orders line) on upgrade when the row markup is the one that shipped; a heavily customised template keeps rendering unchanged until you add a partial yourself — pick ",[421,2111,2112],{},"Messages for an item \u002F Orders line",[421,2114,2115],{},"Messages for the shipment \u002F order"," from the editor's helper list, or ask the AI assistant to patch the template. Consolidated supplies rows on the Batch Pick List and Manifest show the union of the messages of the lines they combine.",[418,2118,2119],{},"Messages do not slow printing down: the list is loaded once per print, the conditions are evaluated in memory per shipment and per row, and a store with no messages pays one small query.",[418,2121,2122,2125,2126,598,2128,598,2131,598,2133,598,2136,598,2138,598,2141,2143,2144,2148],{},[421,2123,2124],{},"Conditions on messages use the same operators as everywhere else"," (",[831,2127,1117],{},[831,2129,2130],{},"!=",[831,2132,1114],{},[831,2134,2135],{},">=",[831,2137,1111],{},[831,2139,2140],{},"\u003C=",[831,2142,1120],{},", …) — see ",[429,2145,2147],{"href":2146},"\u002Fadvanced\u002Fconditions#operators","Conditions → Operators",". The template itself never evaluates those operators; the condition engine does, then the matching message text is printed.",[413,2150,219],{"id":2151},"printing",[418,2153,583,2154,2156],{},[421,2155,426],{}," on a shipment or order (or on a selection in a list) and pick a document. The preview opens with the document on the left and a panel on the right:",[418,2158,2159,2162,2163,2166],{},[421,2160,2161],{},"Page order for a selection."," When you print several shipments at once (packing slips, order pick lists, Pack + Order, and similar one-page-per-shipment documents), the pages come out in the ",[421,2164,2165],{},"same order as the list you are looking at"," — whatever sort and filters you applied on Shipments. Sort the table the way you want to walk the warehouse, select the rows, then print.",[454,2168,2169,2179],{},[457,2170,2171],{},[460,2172,2173,2176],{},[463,2174,2175],{},"Control",[463,2177,2178],{},"Effect",[470,2180,2181,2191,2200,2212,2224,2233,2243],{},[460,2182,2183,2188],{},[475,2184,2185],{},[421,2186,2187],{},"Template",[475,2189,2190],{},"Switch to another active document without closing the preview",[460,2192,2193,2197],{},[475,2194,2195],{},[421,2196,739],{},[475,2198,2199],{},"Re-order item rows for this print",[460,2201,2202,2206],{},[475,2203,2204],{},[421,2205,1218],{},[475,2207,2208,2209,2211],{},"Only rows stocked at that location; shipments with nothing left are skipped. ",[421,2210,1222],{}," comes first, then your own locations (busiest first), then partner, drop-ship and holding locations",[460,2213,2214,2218],{},[475,2215,2216],{},[421,2217,1130],{},[475,2219,2220,2221,2223],{},"Apply a ",[429,2222,769],{"href":198}," — see below",[460,2225,2226,2230],{},[475,2227,2228],{},[421,2229,426],{},[475,2231,2232],{},"Opens your browser's print dialog for the rendered pages (turn off \"Headers and footers\" there)",[460,2234,2235,2240],{},[475,2236,2237],{},[421,2238,2239],{},"Download PDF",[475,2241,2242],{},"Generates a PDF with the same options",[460,2244,2245,2250],{},[475,2246,2247],{},[421,2248,2249],{},"Open in new tab",[475,2251,2252],{},"The rendered pages in a browser tab — handy for a second screen or a printer kiosk",[418,2254,2255,2256,2258,2259,2261,2262,2265,2266,434],{},"The preview is the real rendered document, so ",[421,2257,426],{}," is immediate; only ",[421,2260,2239],{}," waits for PDF generation. Changes in the panel apply to ",[421,2263,2264],{},"this print only",". The document's saved defaults (sort, location, condition) are preselected each time you open it; \"Save a default on the document\" means editing it under ",[421,2267,586],{},[694,2269,1130],{"id":2270},"filter-rows-by-condition",[418,2272,2273],{},"Pick any active Condition. Two kinds of rule behave differently:",[440,2275,2276,2284],{},[443,2277,2278,2125,2281,2283],{},[421,2279,2280],{},"Item rules",[831,2282,1937],{}," entity — type, SKU, vendor, tags, collections, location, metafields…) hide the item rows that do not match. A shipment left with no rows is skipped.",[443,2285,2286,2125,2289,598,2291,598,2293,598,2295,2297,2298,2301],{},[421,2287,2288],{},"Shipment-level rules",[831,2290,1285],{},[831,2292,1282],{},[831,2294,1336],{},[831,2296,1339],{},", and the ",[421,2299,2300],{},"any item \u002F no item"," gates) cannot be answered per row, so the whole condition is evaluated against each selected shipment and non-matching shipments are left out entirely — with all their rows.",[418,2303,2304,2305,1108,2308,1108,2311,2314],{},"A condition can mix both: ",[772,2306,2307],{},"order label starts with W",[421,2309,2310],{},"and",[772,2312,2313],{},"item type is Frozen"," prints only the frozen lines of wholesale orders. If nothing matches you get a single \"No items match the selected filters\" page instead of an unfiltered print.",[418,2316,2317,2318,2321],{},"Filters change ",[421,2319,2320],{},"what is printed only"," — hidden items still ship.",[694,2323,2325],{"id":2324},"the-printing-condition-group","The \"Printing\" condition group",[418,2327,2328,2329,2331,2332,2335,2336,2339,2340,2342],{},"The dropdown lists every active Condition. To keep it short, create a rule group named ",[421,2330,219],{}," (any capitalisation) under ",[421,2333,2334],{},"Advanced → Conditions"," and move your print-only conditions into it: as soon as that group has one active condition, the print preview and the document editor list ",[421,2337,2338],{},"only"," that group. Stores without a ",[772,2341,219],{}," group keep seeing all conditions.",[694,2344,2346],{"id":2345},"one-template-per-product-group","One template per product group",[418,2348,2349,2350,2353],{},"When a pick slip should ",[772,2351,2352],{},"look"," different for, say, fish and supplies, make two documents rather than one clever template:",[579,2355,2356,2365,2380],{},[443,2357,2358,2359,431,2362,434],{},"Duplicate the pick slip: ",[421,2360,2361],{},"Pick Slip – Fish",[421,2363,2364],{},"Pick Slip – Supplies",[443,2366,2367,2368,2370,2371,480,2373,2376,2377,2379],{},"Give each its own layout, and set ",[421,2369,763],{}," to ",[772,2372,774],{},[772,2374,2375],{},"Supplies"," (and a ",[421,2378,753],{}," if the stock lives in one place).",[443,2381,2382,2383,2385,2386,2388],{},"Both appear in ",[421,2384,426],{}," and in the preview's ",[421,2387,2187],{}," switcher; choosing one gives the right layout with the right rows. The operator can still override the condition for a one-off print.",[694,2390,2392],{"id":2391},"one-row-per-fulfillment-location","One row per fulfillment location",[418,2394,2395,2396,598,2399,598,2402,598,2405,635,2408,2411,2412,2415,2416,2419],{},"On a ",[421,2397,2398],{},"picking list",[421,2400,2401],{},"order pick list",[421,2403,2404],{},"batch pick list",[421,2406,2407],{},"Pick + Pack",[421,2409,2410],{},"item labels",", a line that Shopify has open at two or more fulfillment locations prints once per location, using that location's own quantity. A quantity of 3 with 1 at ",[772,2413,2414],{},"Online | Your Store"," and 2 at ",[772,2417,2418],{},"Retail | Your Store"," is two rows: Online required 1, Retail required 2. The pick-list column keeps the full location name. A line at only one location stays one row with the shipment quantity.",[418,2421,2422,598,2425,2297,2428,2431],{},[421,2423,2424],{},"Packing slips",[421,2426,2427],{},"invoices",[421,2429,2430],{},"local pickup slip"," stay one line. Those go to the customer.",[418,2433,2434,2435,2437,2438,2441,2442,2445],{},"Item labels print the short name — the text before the ",[831,2436,1414],{}," — under the shipment number (",[831,2439,2440],{},"{{ item.location_short }}","), including when the line is only at one location. In ",[421,2443,2444],{},"Split labels",", two locations of the same product stay separate rows.",[694,2447,2449],{"id":2448},"item-labels-split-before-printing","Item labels: split before printing",[418,2451,2452,2453,2455,2456,431,2459,2461,2462,2464],{},"For ",[421,2454,545],{}," (per-quantity) documents, ",[421,2457,2458],{},"Print…",[421,2460,2239],{}," first open ",[421,2463,2444],{},":",[440,2466,2467,2479,2494],{},[443,2468,2469,2470,2473,2474,480,2476,2478],{},"The list shows only the lines with ",[421,2471,2472],{},"quantity above 1"," that will print under the current ",[421,2475,1218],{},[421,2477,1130],{}," — quantity-1 lines have nothing to split, print one label each, and are counted in the total. When every line is quantity 1 the popup is skipped and the print goes straight through.",[443,2480,2481,2482,2485,2486,2489,2490,2493],{},"Choose ",[421,2483,2484],{},"Print single label per line item"," or ",[421,2487,2488],{},"Break out every line item by quantity",", or tick individual lines and set an optional ",[421,2491,2492],{},"pack per bag"," (20 snails, 5 per bag → 4 labels). The button shows the resulting label count.",[443,2495,2496,2497,2500,2501,2504],{},"Confirm and the labels print (or download). After that Print acts directly; ",[421,2498,2499],{},"Split labels…"," reopens the popup to change the plan, ",[421,2502,2503],{},"Reset"," goes back to one label per line.",[418,2506,2507,2508,2511,2512,434],{},"Carrier ",[421,2509,2510],{},"labels"," are not documents: their format (PDF \u002F ZPL \u002F EPL) and Zebra Browser Print setup live under ",[429,2513,219],{"href":220},[413,2515,2517],{"id":2516},"print-tracking","Print tracking",[418,2519,2520,431,2522,2524,2525,2527,2528,2531,2532,2535],{},[421,2521,426],{},[421,2523,2239],{}," are recorded per shipment (previews and ",[772,2526,2249],{}," are not). Each print adds a ",[421,2529,2530],{},"Document printed"," entry to the shipment's Activities and immediately re-runs the shipment automation rules on the affected ",[421,2533,2534],{},"Awaiting"," shipments, so print-driven rules fire without waiting for the next sync. Order-scoped documents count for every Awaiting shipment holding that order's items.",[418,2537,2538,2539,2541],{},"Two shipment fields in ",[429,2540,197],{"href":198}," read this history:",[454,2543,2544,2555],{},[457,2545,2546],{},[460,2547,2548,2550,2552],{},[463,2549,1908],{},[463,2551,1695],{},[463,2553,2554],{},"Typical rule",[470,2556,2557,2582],{},[460,2558,2559,2564,2567],{},[475,2560,2561],{},[421,2562,2563],{},"Printed document",[475,2565,2566],{},"Names of documents printed or downloaded for the shipment",[475,2568,2569,2572,2573,615,2576,2572,2579],{},[772,2570,2571],{},"Printed document is empty"," → tag ",[421,2574,2575],{},"Not printed",[772,2577,2578],{},"Printed document contains Packing Slip",[421,2580,2581],{},"Slip printed",[460,2583,2584,2589,2592],{},[475,2585,2586],{},[421,2587,2588],{},"Printed document outdated by item changes",[475,2590,2591],{},"Printed documents whose last print is older than the last line-item change (item added or cancelled, quantity changed, lines split out or merged in)",[475,2593,2594,2597,2598,2601,2602,2604],{},[772,2595,2596],{},"… contains Packing Slip"," → add tag ",[421,2599,2600],{},"Reprint","; the negation → remove ",[421,2603,2600],{},". Reprinting re-runs the rules and clears the tag",[418,2606,2607],{},"Address, customer, and shipping-method edits are not line-item changes and do not make a print outdated. A document that was never printed is never \"outdated\".",[413,2609,2611],{"id":2610},"who-can-use-it","Who can use it",[418,2613,2614,2615,1996,2618,2621,2622,431,2625,2628,2629,2631,2632,2634,2635,480,2638,434],{},"Documents (templates, print, PDF) are on ",[421,2616,2617],{},"every plan",[421,2619,2620],{},"Document messages"," are ",[421,2623,2624],{},"Pro",[421,2626,2627],{},"Enterprise"," — the Messages button and Advanced → Documents → Messages stay hidden on Basic. ",[421,2630,1321],{}," tokens need the ",[421,2633,300],{}," app (Pro+). Permissions ",[772,2636,2637],{},"View documents",[772,2639,2640],{},"Manage documents",[418,2642,2643,2645],{},[421,2644,373],{}," — with the Operations module:",[454,2647,2648,2658],{},[457,2649,2650],{},[460,2651,2652,2655],{},[463,2653,2654],{},"Tool",[463,2656,2657],{},"Role",[470,2659,2660,2678,2688,2701,2720,2733,2743],{},[460,2661,2662,2670],{},[475,2663,2664,480,2667],{},[831,2665,2666],{},"operations_list_documents",[831,2668,2669],{},"operations_get_document",[475,2671,2672,2673,598,2675,2677],{},"List templates; read full HTML (check for ",[831,2674,2042],{},[831,2676,1808],{},", …)",[460,2679,2680,2685],{},[475,2681,2682],{},[831,2683,2684],{},"operations_update_document",[475,2686,2687],{},"Edit any editor field; live changes need confirmation",[460,2689,2690,2698],{},[475,2691,2692,480,2695],{},[831,2693,2694],{},"operations_list_document_messages",[831,2696,2697],{},"operations_test_document_messages",[475,2699,2700],{},"List messages; dry-run on a real shipment (drafts included)",[460,2702,2703,2708],{},[475,2704,2705],{},[831,2706,2707],{},"operations_create_document_message",[475,2709,2710,2711,2125,2714,2716,2717,1159],{},"Create as a ",[421,2712,2713],{},"draft",[831,2715,1516],{}," defaults to Plain \u002F ",[831,2718,2719],{},"neutral",[460,2721,2722,2730],{},[475,2723,2724,480,2727],{},[831,2725,2726],{},"operations_update_document_message",[831,2728,2729],{},"operations_delete_document_message",[475,2731,2732],{},"Edit, activate, or delete — activating or editing a live message needs confirmation",[460,2734,2735,2740],{},[475,2736,2737],{},[831,2738,2739],{},"operations_list_print_history",[475,2741,2742],{},"What was printed for a shipment",[460,2744,2745,2750],{},[475,2746,2747],{},[831,2748,2749],{},"orders_explain_rate_shop",[475,2751,2752],{},"Why Shopped Carrier \u002F Service is filled or blank (feeds the same data documents print)",[418,2754,2755,2756,2759],{},"Read ",[831,2757,2758],{},"storesboost:\u002F\u002Foperations\u002Fsemantics"," for the full Operations vocabulary.",[413,2761,2763],{"id":2762},"troubleshooting","Troubleshooting",[454,2765,2766,2776],{},[457,2767,2768],{},[460,2769,2770,2773],{},[463,2771,2772],{},"Symptom",[463,2774,2775],{},"Check",[470,2777,2778,2789,2801,2809,2820,2828,2836,2846,2866,2881,2894],{},[460,2779,2780,2783],{},[475,2781,2782],{},"A condition in the preview \"does nothing\"",[475,2784,2785,2786,2788],{},"It has only shipment-level rules and every selected shipment matches — that is a pass, not a filter. Add a ",[772,2787,1937],{}," rule to hide rows",[460,2790,2791,2794],{},[475,2792,2793],{},"Every shipment disappears when I pick a Location",[475,2795,2796,2797,2800],{},"No line item is assigned to that location. Item locations are the Shopify ",[421,2798,2799],{},"fulfillment location"," assigned to each line at import (fulfillment orders), so an order routed to another location has no rows there",[460,2802,2803,2806],{},[475,2804,2805],{},"Bin location prints a long number",[475,2807,2808],{},"Fixed in current versions — the Shopify location id is no longer used as a bin. Make sure a bin metafield or bin custom field exists",[460,2810,2811,2814],{},[475,2812,2813],{},"The bin is wrong for the warehouse I print for",[475,2815,2816,2817,2819],{},"Map each warehouse to its bin metafield under ",[429,2818,233],{"href":234}," and pick that Location in the print dialog",[460,2821,2822,2825],{},[475,2823,2824],{},"The Split labels list shows fewer lines than the shipment has",[475,2826,2827],{},"The current Location \u002F condition filter hides them; clear the filters in the preview panel",[460,2829,2830,2833],{},[475,2831,2832],{},"A pick list puts the whole quantity on the first location",[475,2834,2835],{},"That line is open at more than one fulfillment location. Pick lists and item labels print one row per location, each with that location's quantity. Packing slips, invoices, and the local pickup slip stay one line",[460,2837,2838,2841],{},[475,2839,2840],{},"Condition dropdown is missing a condition",[475,2842,766,2843,2845],{},[772,2844,219],{}," group exists and the condition is not in it; move it there or pick it as the document's default (defaults are always listed)",[460,2847,2848,2851],{},[475,2849,2850],{},"A message tests fine but does not print",[475,2852,2853,2854,480,2856,2858,2859,2861,2862,2865],{},"The message is still a draft, is limited to other documents, or the template has no ",[831,2855,2042],{},[831,2857,2066],{}," partial — add it from the editor's helper list. A per-line message whose condition has no ",[772,2860,1937],{}," rule prints under ",[421,2863,2864],{},"every"," line of a matching shipment",[460,2867,2868,2871],{},[475,2869,2870],{},"Shopped tag \u002F line is blank",[475,2872,2873,2874,480,2876,2878,2879],{},"Rate Shopper has no winner for that shipment (Shopped columns are dashes on Shipments), or the template has no ",[831,2875,1808],{},[831,2877,1827],{}," — add from Helpers. Confirm with ",[831,2880,2749],{},[460,2882,2883,2889],{},[475,2884,2885,2888],{},[831,2886,2887],{},"{{# weather }}"," block never appears",[475,2890,2891,2892],{},"Destination weather is off or not fetched — see ",[429,2893,305],{"href":306},[460,2895,2896,2902],{},[475,2897,2898,2899,2901],{},"Literal ",[831,2900,1083],{}," prints on the page",[475,2903,2904,2905],{},"The tag was put in an HTML attribute that Vue or the editor stripped, or a brace was missing — use ",[421,2906,642],{},[413,2908,2910],{"id":2909},"related","Related",[440,2912,2913,2928,2933,2938,2944,2950,2955],{},[443,2914,2915,2917,2918,598,2920,598,2922,2924,2925,2927],{},[429,2916,197],{"href":198}," — operators (",[831,2919,1117],{},[831,2921,1114],{},[831,2923,1120],{},", …), \"Filter rows by condition\", and the ",[772,2926,219],{}," group",[443,2929,2930,2932],{},[429,2931,219],{"href":220}," — label formats and printers",[443,2934,2935,2937],{},[429,2936,183],{"href":184}," — capture values you want printed",[443,2939,2940,2943],{},[429,2941,2942],{"href":306},"Apps → Weather"," — forecast variables for slips",[443,2945,2946,2949],{},[429,2947,2948],{"href":301},"Apps → Rate Shopper"," — Shopped Carrier \u002F Service that documents can print",[443,2951,2952],{},[429,2953,2954],{"href":102},"Shipments → Labels & rates",[443,2956,2957,2960],{},[429,2958,2959],{"href":374},"AI assistants"," — MCP tools for templates and messages",{"title":833,"searchDepth":2962,"depth":2963,"links":2964},1,2,[2965,2966,2967,2968,2976,2977,2984,2985,2986,2987],{"id":415,"depth":2963,"text":416},{"id":437,"depth":2963,"text":438},{"id":451,"depth":2963,"text":452},{"id":576,"depth":2963,"text":577,"children":2969},[2970,2972,2973,2974,2975],{"id":696,"depth":2971,"text":697},3,{"id":836,"depth":2971,"text":837},{"id":1143,"depth":2971,"text":1144},{"id":1256,"depth":2971,"text":647},{"id":1669,"depth":2971,"text":1670},{"id":1883,"depth":2963,"text":1533},{"id":2151,"depth":2963,"text":219,"children":2978},[2979,2980,2981,2982,2983],{"id":2270,"depth":2971,"text":1130},{"id":2324,"depth":2971,"text":2325},{"id":2345,"depth":2971,"text":2346},{"id":2391,"depth":2971,"text":2392},{"id":2448,"depth":2971,"text":2449},{"id":2516,"depth":2963,"text":2517},{"id":2610,"depth":2963,"text":2611},{"id":2762,"depth":2963,"text":2763},{"id":2909,"depth":2963,"text":2910},"Design picking lists, packing slips, invoices, manifests, item labels, and the Local Pickup Slip — Mustache tokens, messages, Rate Shopper shopped rates, and print filters.","md",null,{},{"icon":72},{"title":188,"description":2988},"VDXYtUwJb9PMhimqVBuuJDVH4T1y4WTP3OVAFeQ0o8Y",[2996,2998],{"title":183,"path":184,"stem":185,"description":2997,"icon":186,"children":-1},"Capture Shopify data ShipManta does not track by default — on orders, line items, customers, and addresses — for filters, documents, and reports.",{"title":192,"path":193,"stem":194,"description":2999,"icon":195,"children":-1},"Control which shipments each team or department can see.",1792583949233]