{"id":1645,"date":"2026-03-02T23:42:48","date_gmt":"2026-03-02T22:42:48","guid":{"rendered":"https:\/\/newcraft.dev\/posts\/how-to-share-price-lists-and-brochures-with-b2b-customers-on-shopify\/"},"modified":"2026-03-03T00:09:54","modified_gmt":"2026-03-02T23:09:54","slug":"how-to-share-price-lists-and-brochures-with-b2b-customers-on-shopify","status":"publish","type":"marketing-post","link":"https:\/\/newcraft.dev\/nl\/posts\/how-to-share-price-lists-and-brochures-with-b2b-customers-on-shopify\/","title":{"rendered":"How to Share Price Lists and Brochures with B2B Customers on Shopify"},"content":{"rendered":"\n<p>\n  <strong>TL;DR:<\/strong> Sharing price lists and brochures through email attachments doesn&#8217;t scale. B2B customers need self-service access to current documents, restricted to approved accounts, with version control and localization built in. This guide covers the full workflow. If you&#8217;re setting up B2B operations on Shopify, start with our <a href=\"https:\/\/newcraft.dev\/shopify-b2b-portal-guide\/\">Shopify B2B portal guide<\/a> for the complete picture.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The PDF-in-email problem<\/h2>\n\n\n\n<p>\n  A Dutch wholesaler we work with had 340 B2B accounts across six EU countries. Their price list workflow? A sales rep would update an Excel sheet, export it as PDF, and email it to a distribution list. Sometimes the list was current. Sometimes it wasn&#8217;t. Nobody could tell which version a customer was looking at when they placed an order.\n<\/p>\n\n\n\n<p>\n  That&#8217;s the norm for most Shopify merchants doing B2B. Price lists float around as email attachments. Brochures live in someone&#8217;s Google Drive. When a customer asks for the latest catalog, a team member digs through folders and forwards a file they hope is up to date. The bigger the customer base, the worse it gets.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What documents B2B customers actually need<\/h2>\n\n\n\n<p>\n  Not every file belongs in a document portal. Focus on the ones customers request repeatedly or need before placing orders:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n  \n<li><strong>Wholesale price lists:<\/strong> Your bread and butter. These change seasonally or quarterly, so version control matters more here than anywhere else.<\/li>\n\n  \n<li><strong>Product catalogs and brochures:<\/strong> High-resolution PDFs with product photography, specs, and ordering codes. Especially valuable for resellers who need marketing material.<\/li>\n\n  \n<li><strong>Commercial terms:<\/strong> Payment policies, minimum order values, return conditions. Customers reference these when disputes arise.<\/li>\n\n  \n<li><strong>Seasonal campaign sheets:<\/strong> Limited-time promotions, pre-order windows, or clearance offers that expire.<\/li>\n\n<\/ul>\n\n\n\n<p>\n  For EU merchants selling across borders, each of these may need country-specific variants. A price list for Germany with net prices and reverse charge notes looks different from one for French customers with TTC pricing.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Six rules for B2B document sharing that actually works<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. One managed location, not scattered emails<\/h3>\n\n\n\n<p>\n  Every approved B2B customer should access documents from the same place. Not from an email thread, not from a shared Dropbox link, not from a &#8220;files&#8221; page buried in your Shopify theme. A <a href=\"https:\/\/newcraft.dev\/shopify-b2b-portal-guide\/\">dedicated B2B portal<\/a> that ties document access to customer approval status is the only approach that scales.\n<\/p>\n\n\n\n<p>\n  When a customer gets approved, they see the documents. When they&#8217;re not approved, they don&#8217;t. No manual sharing required.\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Restrict access to approved accounts only<\/h3>\n\n\n\n<p>\n  This sounds obvious, but most merchants skip it. Price lists contain your margin structure. Competitor intelligence teams love finding wholesale pricing on publicly accessible pages or forwarded PDFs.\n<\/p>\n\n\n\n<p>\n  Tie document visibility to your B2B approval workflow. If your portal handles <a href=\"https:\/\/newcraft.dev\/posts\/shopify-vat-exemption-eu-businesses\/\">VAT validation and customer approval<\/a> already, document access should follow the same gate.\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Use naming conventions that prevent confusion<\/h3>\n\n\n\n<p>\n  &#8220;PriceList_Final_v3_REAL.pdf&#8221; helps nobody. Adopt a naming pattern that tells customers exactly what they&#8217;re looking at:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n  \n<li><strong>EU-Wholesale-Price-List-2026-Q2.pdf<\/strong><\/li>\n\n  \n<li><strong>DE-Product-Catalog-Spring-2026.pdf<\/strong><\/li>\n\n  \n<li><strong>Commercial-Terms-NL-2026.pdf<\/strong><\/li>\n\n<\/ul>\n\n\n\n<p>\n  Region, document type, period. That&#8217;s it. When a customer sees the filename, they know immediately if it&#8217;s the right one.\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Kill old versions immediately<\/h3>\n\n\n\n<p>\n  The moment a new price list goes live, the old one should disappear from the customer portal. Not &#8220;moved to an archive section.&#8221; Not &#8220;marked as outdated.&#8221; Gone. If a customer places an order referencing prices from a deactivated list, you&#8217;ve got a dispute on your hands.\n<\/p>\n\n\n\n<p>\n  One active version per document type. Always.\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Localize for your EU markets<\/h3>\n\n\n\n<p>\n  A single English-language price list doesn&#8217;t cut it when you&#8217;re selling to buyers in the Netherlands, Germany, France, and Italy. At minimum, localize pricing documents to reflect local VAT treatment and currency conventions.\n<\/p>\n\n\n\n<p>\n  This applies to more than documents. Your entire B2B communication layer, from approval emails to <a href=\"https:\/\/newcraft.dev\/posts\/shopify-vat-reverse-charge\/\">order confirmations with reverse charge notes<\/a>, should speak the customer&#8217;s language.\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Align tax context with your documents<\/h3>\n\n\n\n<p>\n  If your price list shows net prices (ex-VAT), make sure your Shopify checkout experience matches. Nothing erodes trust faster than a brochure quoting one price and a checkout showing another.\n<\/p>\n\n\n\n<p>\n  For EU B2B merchants, this usually means ensuring <a href=\"https:\/\/newcraft.dev\/posts\/complete-vat-guide-eu-shopify\/\">VAT-exempt pricing<\/a> in the checkout matches the net prices in your wholesale list.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A governance checklist you can actually use<\/h2>\n\n\n\n<p>\n  Pin this somewhere your team can see it. Review it quarterly.\n<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n  <thead>\n    <tr>\n      <th>Area<\/th>\n      <th>Rule<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Access<\/td>\n      <td>Documents visible only to approved B2B accounts<\/td>\n    <\/tr>\n    <tr>\n      <td>Versions<\/td>\n      <td>One active version per document type, per market<\/td>\n    <\/tr>\n    <tr>\n      <td>Naming<\/td>\n      <td>Region + type + period in every filename<\/td>\n    <\/tr>\n    <tr>\n      <td>Localization<\/td>\n      <td>Country-specific pricing and VAT treatment<\/td>\n    <\/tr>\n    <tr>\n      <td>Review cycle<\/td>\n      <td>Quarterly audit of all active documents<\/td>\n    <\/tr>\n    <tr>\n      <td>Ownership<\/td>\n      <td>One person responsible for each document type<\/td>\n    <\/tr>\n    <tr>\n      <td>Archiving<\/td>\n      <td>Old versions removed from portal, stored internally<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Common mistakes that cost you orders<\/h2>\n\n\n\n<p>\n  <strong>Email-first distribution.<\/strong> You send the price list to 200 accounts. Three months later, 40 of them are still using the old version because they never opened the update email. A self-service portal solves this instantly: there&#8217;s always one current version, and it&#8217;s always the one customers see.\n<\/p>\n\n\n\n<p>\n  <strong>One document for all markets.<\/strong> A price list with EUR pricing and Dutch VAT notes is useless for your Swedish customers. If you sell across EU borders, each market needs its own document variant. Yes, it&#8217;s more work upfront. But it prevents pricing disputes and builds trust with buyers who see you understand their market.\n<\/p>\n\n\n\n<p>\n  <strong>Keeping old and new versions active simultaneously.<\/strong> &#8220;We&#8217;ll leave the old one up for a week so people can transition.&#8221; Don&#8217;t. Customers will find the cheaper prices in the old list and argue that&#8217;s what they should pay. Clean cutover, every time.\n<\/p>\n\n\n\n<p>\n  <strong>No clear owner.<\/strong> When nobody owns the price list update cycle, updates slip. Assign one person per document type. Make it part of their quarterly responsibilities.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Making it work on Shopify<\/h2>\n\n\n\n<p>\n  Shopify doesn&#8217;t have native B2B document sharing. You can hack something together with a password-protected page and file uploads, but it won&#8217;t give you version control, access restrictions tied to approval status, or per-market localization.\n<\/p>\n\n\n\n<p>\n  The document sharing feature in our B2B portal integrates directly with the approval workflow. When a customer is approved, they see documents. When a document is deactivated, it vanishes. You upload a file, assign it to markets, and it&#8217;s live. No code changes, no theme edits.\n<\/p>\n\n\n\n<p>\n  If you&#8217;re evaluating how to handle B2B document sharing alongside approvals, VAT validation, net terms, and localized communications, the <a href=\"https:\/\/newcraft.dev\/shopify-b2b-portal-guide\/\">complete Shopify B2B portal guide<\/a> walks through all ten features and how they connect.\n<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>How to share price lists and brochures with B2B customers on Shopify using a managed portal instead of email attachments.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_acf_changed":false,"_breakdance_hide_in_design_set":false,"_breakdance_tags":""},"class_list":["post-1645","marketing-post","type-marketing-post","status-publish","hentry"],"acf":{"related_apps":null},"_links":{"self":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/marketing-post\/1645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/marketing-post"}],"about":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/types\/marketing-post"}],"wp:attachment":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/media?parent=1645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}