<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>SKU.io Release Notes</title>
        <link>https://developer.sku.io/release-notes</link>
        <description>New features, improvements, and fixes for the SKU.io platform.</description>
        <lastBuildDate>Fri, 05 Jun 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>Copyright © 2026 SKU.io.</copyright>
        <item>
            <title><![CDATA[Manufacturing — Build Finished Products and Cost Every Run]]></title>
            <link>https://developer.sku.io/release-notes/2026/06/05/manufacturing</link>
            <guid>https://developer.sku.io/release-notes/2026/06/05/manufacturing</guid>
            <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Define recipes, run manufacturing orders from draft to completion, and get automatic work-in-process accounting — so every build's material, labour, and finished-goods cost is tracked end to end.]]></description>
            <content:encoded><![CDATA[<p>If you make or assemble what you sell, you've been stitching the production side together by hand — drawing down raw-material stock in one place, adding finished units in another, and working out what each batch actually cost in a spreadsheet. SKU now does all of it for you. <strong>Manufacturing</strong> lets you define a recipe once, run a manufacturing order to turn components into finished goods, and have SKU consume the raw materials, receive the finished product into stock, and post the accounting — automatically, every time you produce.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class=""><strong>Define a product's recipe once</strong> — its components, quantities, scrap, and outputs — and reuse it on every build</li>
<li class=""><strong>Run production as a tracked order</strong> from Draft through to Completed, with a live view of what's planned, in progress, late, and done</li>
<li class=""><strong>Accurate per-build costing</strong> — materials, labour, and overhead roll up into the real cost of each finished unit</li>
<li class=""><strong>Inventory stays correct automatically</strong> — components are consumed and finished goods received as you produce, with full FIFO traceability</li>
<li class=""><strong>The books keep themselves</strong> — each production run posts a balanced work-in-process journal, so your accounting matches your shop floor</li>
<li class=""><strong>A Simple Mode</strong> for quick one-step assembly and disassembly when you don't need a full production order</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="one-view-of-everything-on-the-shop-floor">One view of everything on the shop floor<a href="https://developer.sku.io/release-notes/2026/06/05/manufacturing#one-view-of-everything-on-the-shop-floor" class="hash-link" aria-label="Direct link to One view of everything on the shop floor" title="Direct link to One view of everything on the shop floor" translate="no">​</a></h2>
<p>The Manufacturing overview is your production command centre. A status pipeline across the top shows how many orders are Draft, Confirmed, In Progress, Late, Completed, and Closed at a glance, alongside what's scheduled to start this week — so nothing slips quietly past its date.</p>
<p><img decoding="async" loading="lazy" alt="The Manufacturing overview with the order status pipeline and this-week schedule" src="https://developer.sku.io/assets/images/overview-31cd39d4713b89ee46a5ec238f7ec684.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="define-the-recipe-once">Define the recipe once<a href="https://developer.sku.io/release-notes/2026/06/05/manufacturing#define-the-recipe-once" class="hash-link" aria-label="Direct link to Define the recipe once" title="Direct link to Define the recipe once" translate="no">​</a></h2>
<p>A Recipe (Bill of Materials) describes how a product is built: the components it consumes, the quantity and unit of measure for each, an optional scrap allowance, and the finished product it outputs. Set it up once and every manufacturing order for that product starts from it — no re-keying components batch after batch.</p>
<p><img decoding="async" loading="lazy" alt="A recipe defining the components that build a finished product" src="https://developer.sku.io/assets/images/recipe-552a046126e46a3e8d37f5ad4b96dfea.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="run-production-from-draft-to-done">Run production from draft to done<a href="https://developer.sku.io/release-notes/2026/06/05/manufacturing#run-production-from-draft-to-done" class="hash-link" aria-label="Direct link to Run production from draft to done" title="Direct link to Run production from draft to done" translate="no">​</a></h2>
<p>A Manufacturing Order takes a recipe and produces real stock. As it moves through its lifecycle, SKU tracks planned versus completed quantity, consumes the component inventory, and receives the finished goods — then rolls everything into a true cost for the run, broken out by materials, labour, and overhead. Dedicated tabs give you the components, outputs, operations, inventory movements, allocations, and FIFO layers behind every build.</p>
<p><img decoding="async" loading="lazy" alt="A completed manufacturing order showing planned vs completed quantity and the material, labour, and total cost rollup" src="https://developer.sku.io/assets/images/manufacturing-order-4c3d172493c97acc129c3f77b11b53a0.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="accounting-that-keeps-itself">Accounting that keeps itself<a href="https://developer.sku.io/release-notes/2026/06/05/manufacturing#accounting-that-keeps-itself" class="hash-link" aria-label="Direct link to Accounting that keeps itself" title="Direct link to Accounting that keeps itself" translate="no">​</a></h2>
<p>This is what sets it apart: every production run posts a balanced, double-entry work-in-process journal automatically. Raw materials are credited out of inventory and into work-in-process, labour is applied, and the finished goods are received back into inventory at their full produced cost — with work-in-process cleared to zero when the run completes. Your books always reflect what actually happened on the floor, with no manual journal entries.</p>
<p><img decoding="async" loading="lazy" alt="The automatically posted work-in-process accounting journal for a completed run, in balanced debits and credits" src="https://developer.sku.io/assets/images/accounting-8c1a81921fddd9ec95d6a2c434032b89.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-simpler-path-for-quick-builds">A simpler path for quick builds<a href="https://developer.sku.io/release-notes/2026/06/05/manufacturing#a-simpler-path-for-quick-builds" class="hash-link" aria-label="Direct link to A simpler path for quick builds" title="Direct link to A simpler path for quick builds" translate="no">​</a></h2>
<p>Not every build needs a full production order. <strong>Simple Mode</strong> gives you one-step Assemble and Disassemble actions — pick the product, the quantity, the warehouse, and the date, and SKU handles the stock movements instantly. It's ideal for kitting, repacking, and breaking bulk down into sellable units. When you outgrow it, the full Manufacturing module is one click away.</p>
<p><img decoding="async" loading="lazy" alt="Simple Mode&amp;#39;s one-step assemble and disassemble form" src="https://developer.sku.io/assets/images/simple-mode-f5bbcea11748bf1049301f6641832858.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/06/05/manufacturing#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open <strong>Manufacturing</strong> in the main navigation. The <strong>Overview</strong> is your production dashboard; <strong>Recipes / BOMs</strong> is where you define how products are built; <strong>Manufacturing Orders</strong> is where you run and track production; and <strong>Simple Mode</strong> handles quick one-step assembly and disassembly.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Inventory</category>
            <category>Accounting</category>
        </item>
        <item>
            <title><![CDATA[A Redesigned Amazon Workspace — One Modern Interface]]></title>
            <link>https://developer.sku.io/release-notes/2026/06/01/amazon-redesign</link>
            <guid>https://developer.sku.io/release-notes/2026/06/01/amazon-redesign</guid>
            <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The entire Amazon integration is rebuilt into one consistent, modern workspace with the same fast filtering, saved views, and exports on every page.]]></description>
            <content:encoded><![CDATA[<p>If you run Amazon in SKU.io, your day moves across a lot of pages — orders, FBA inventory, removal orders, reimbursements, settlements, reports. Until now those pages didn't all look or behave the same way, so a single workflow could feel like using two different products: different navigation, different tables, different filters. We've <strong>rebuilt the entire Amazon integration into one modern, consistent workspace</strong>. Every page now shares the same layout, the same powerful filtering and saved views, the same exports and bulk actions — and a single view across all your Amazon accounts.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class=""><strong>One consistent interface</strong> across every Amazon page — no more jarring jumps mid-workflow</li>
<li class=""><strong>The same powerful tools everywhere</strong> — advanced filters, saved views, exports, and bulk actions on every list</li>
<li class=""><strong>All your Amazon accounts in one view</strong> — work across multiple connected Amazon integrations without switching context</li>
<li class=""><strong>Faster, cleaner tables</strong> — colour-coded status chips, column controls, and shareable filtered views</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="one-home-for-everything-amazon">One home for everything Amazon<a href="https://developer.sku.io/release-notes/2026/06/01/amazon-redesign#one-home-for-everything-amazon" class="hash-link" aria-label="Direct link to One home for everything Amazon" title="Direct link to One home for everything Amazon" translate="no">​</a></h2>
<p>The Amazon dashboard ties the whole integration together, with clear sections for FBA, Orders, Products, Merchant SKU Mappings, Reports, Finance, and Settings — and consistent navigation that carries across every page beneath them.</p>
<p><img decoding="async" loading="lazy" alt="The redesigned Amazon integration dashboard" src="https://developer.sku.io/assets/images/dashboard-d97aeee913b898bd84d2a6a133523d93.png" width="3840" height="2160" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="orders-that-work-like-the-rest-of-sku">Orders that work like the rest of SKU<a href="https://developer.sku.io/release-notes/2026/06/01/amazon-redesign#orders-that-work-like-the-rest-of-sku" class="hash-link" aria-label="Direct link to Orders that work like the rest of SKU" title="Direct link to Orders that work like the rest of SKU" translate="no">​</a></h2>
<p>The Amazon Orders list now behaves exactly like every other table in SKU.io — search, status and fulfillment-channel filters, advanced filters, saved views, column controls, and export, all in one toolbar. Order status is colour-coded at a glance, and you can jump straight from an order to creating a SKU order.</p>
<p><img decoding="async" loading="lazy" alt="The redesigned Amazon Orders list" src="https://developer.sku.io/assets/images/orders-cdc5beaa4cd0355d08265d5bd2fba687.png" width="3840" height="2160" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fba-operations-with-real-controls">FBA operations with real controls<a href="https://developer.sku.io/release-notes/2026/06/01/amazon-redesign#fba-operations-with-real-controls" class="hash-link" aria-label="Direct link to FBA operations with real controls" title="Direct link to FBA operations with real controls" translate="no">​</a></h2>
<p>The FBA pages keep their operational depth. Removal Orders, for example, gives you granular filtering by order status, order type, disposition, and receiving status, expandable line detail, saved views, and export — so high-volume FBA work stays fast and precise. The same modern pattern runs through Removal Shipments, Customer Returns, Inbound Shipments, Reimbursements, Inventory &amp; Valuation, and Reports.</p>
<p><img decoding="async" loading="lazy" alt="The redesigned FBA Removal Orders page" src="https://developer.sku.io/assets/images/removal-orders-991b4fc66b5caa8afcb1c6704407b035.png" width="3840" height="2160" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/06/01/amazon-redesign#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open <strong>Apps &amp; Integrations → Amazon</strong>. Everything — the dashboard, Orders, Products, the full FBA suite, Reports, and Finance — now lives in the same modern workspace, with consistent navigation across all of it.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>Improved</category>
            <category>Integrations</category>
        </item>
        <item>
            <title><![CDATA[Grid View — Edit Your Data Tables Inline]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/27/data-table-grid-editing</link>
            <guid>https://developer.sku.io/release-notes/2026/05/27/data-table-grid-editing</guid>
            <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Switch a list into a spreadsheet-style grid and edit values straight in the cells — no detail page round-trip.]]></description>
            <content:encoded><![CDATA[<p>Fixing one field on a record used to mean a full detour: open the purchase order, change the supplier or the date, save, then click back to the list. Do that across a dozen rows and it's a dozen round-trips. Now your data tables have a new <strong>grid view</strong> — flip a switch and the list becomes a spreadsheet-style grid where you edit values <strong>directly in the cells</strong>. Your changes save as you go, and you never leave the list.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">Edit records without opening a single detail page</li>
<li class="">Update one row after another, spreadsheet-style, without losing your place</li>
<li class="">Switch between the familiar table and the new grid whenever you like — your choice is remembered for each list</li>
<li class="">Edit text, dates, and dropdown fields (suppliers, payment terms, and more) right where you see them</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="flip-any-list-into-a-grid">Flip any list into a grid<a href="https://developer.sku.io/release-notes/2026/05/27/data-table-grid-editing#flip-any-list-into-a-grid" class="hash-link" aria-label="Direct link to Flip any list into a grid" title="Direct link to Flip any list into a grid" translate="no">​</a></h2>
<p>A view toggle now sits in the toolbar of your data tables. Click it to turn the familiar table into a grid, and click again to switch back. SKU remembers your preference for each list, so the view you like is waiting for you next time.</p>
<p><img decoding="async" loading="lazy" alt="Purchase Orders shown in the new grid view" src="https://developer.sku.io/assets/images/grid-view-6b466a56b5b312e3653490a70820e4a9.png" width="3840" height="2160" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="edit-right-in-the-cell">Edit right in the cell<a href="https://developer.sku.io/release-notes/2026/05/27/data-table-grid-editing#edit-right-in-the-cell" class="hash-link" aria-label="Direct link to Edit right in the cell" title="Direct link to Edit right in the cell" translate="no">​</a></h2>
<p>Select a cell and start typing — or double-click it — to edit the value in place. The right control opens for each field, right inside the row. Here a purchase order's supplier is being reassigned straight from a dropdown, without opening the order:</p>
<p><img decoding="async" loading="lazy" alt="Reassigning a supplier inline from a dropdown in the grid" src="https://developer.sku.io/assets/images/inline-edit-supplier-52ce4f05d07f8fa06762d0860c1437f5.png" width="3840" height="2160" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="dates-and-dropdowns-no-detour">Dates and dropdowns, no detour<a href="https://developer.sku.io/release-notes/2026/05/27/data-table-grid-editing#dates-and-dropdowns-no-detour" class="hash-link" aria-label="Direct link to Dates and dropdowns, no detour" title="Direct link to Dates and dropdowns, no detour" translate="no">​</a></h2>
<p>Dates work the same way — pick a new value from an inline date picker and it's saved in place. The grid keeps everything you rely on from the table, including your column choices and filters, so the only thing that changes is how quickly you can make edits.</p>
<p><img decoding="async" loading="lazy" alt="Editing an order date inline in the grid" src="https://developer.sku.io/assets/images/inline-edit-date-89334474bf54253ab36ec7bbec065868.png" width="3840" height="2160" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/05/27/data-table-grid-editing#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open a supported list — start with <strong>Orders → Purchase Orders</strong> — and look for the table/grid toggle in the table's toolbar. Switch to grid view and start editing. The grid view is also rolling out across other order and purchasing lists, including Sales Orders, Purchase Invoices, Sales Credits, and Vendor Credits.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Orders</category>
            <category>Purchasing</category>
        </item>
        <item>
            <title><![CDATA[Listings & Channel Inventory — one table for every product on every channel]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/22/listings-channel-inventory</link>
            <guid>https://developer.sku.io/release-notes/2026/05/22/listings-channel-inventory</guid>
            <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[See every listing across all your sales channels in one place, spot where channel stock has drifted from SKU.io, and fix it in bulk.]]></description>
            <content:encoded><![CDATA[<p>If you sell on more than one channel, you already know the problem: to
check a listing you had to find its product first, open it, and dig into
the Listings tab — one product at a time. There was no way to ask "show
me every Amazon listing" or "which channels are out of sync with my real
stock?" without clicking through your whole catalog. The new <strong>Listings</strong>
and <strong>Channel Inventory</strong> pages fix that. They give you a single table of
every listing across every connected channel — and a dedicated view that
shows, at a glance, exactly where each channel's stock has drifted from
SKU.io and lets you correct it in bulk.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">See <strong>every product listing across every channel</strong> in one searchable
table — no more opening products one at a time.</li>
<li class="">Filter to a single channel in one click with <strong>per-integration tabs</strong>
(Amazon, Shopify, eBay, Walmart, WooCommerce, and more).</li>
<li class="">A dedicated <strong>Channel Inventory</strong> view shows where each channel's
quantity matches SKU.io and where it has drifted — <strong>In Sync</strong>,
<strong>Mismatch</strong>, <strong>Never Synced</strong>, or <strong>Pending Recalc</strong> — with one-click
filtering on each.</li>
<li class="">Spot discrepancies instantly with a <strong>variance</strong> column comparing your
SKU.io quantity to what the channel is actually showing.</li>
<li class=""><strong>Select listings and edit their inventory settings in bulk</strong> — set
master of stock, push quantities, or trigger a recalculation across
dozens of listings at once.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-single-table-for-every-listing">A single table for every listing<a href="https://developer.sku.io/release-notes/2026/05/22/listings-channel-inventory#a-single-table-for-every-listing" class="hash-link" aria-label="Direct link to A single table for every listing" title="Direct link to A single table for every listing" translate="no">​</a></h2>
<p><strong>Listings</strong> is a new page under <strong>Inventory → Listings</strong>. It lists every
product listing you have across every connected sales channel, with the
listing SKU, title, the product it's mapped to, the channel, price, and
quantity. Per-integration tabs across the top let you jump straight to a
single channel, and search, advanced filters, saved views, and a column
picker work exactly like the rest of SKU's data tables. Every listing
links straight to its detail page, and the product SKU links to the
product — so you're always one click from where you need to be.</p>
<p><img decoding="async" loading="lazy" alt="The Listings page showing product listings across all channels with per-integration tabs, listing SKU, title, product, channel, master of stock, and price columns" src="https://developer.sku.io/assets/images/listings-table-74d28df46648e6f447568d2df49a7f38.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="see-every-channels-stock-health-at-a-glance">See every channel's stock health at a glance<a href="https://developer.sku.io/release-notes/2026/05/22/listings-channel-inventory#see-every-channels-stock-health-at-a-glance" class="hash-link" aria-label="Direct link to See every channel's stock health at a glance" title="Direct link to See every channel's stock health at a glance" translate="no">​</a></h2>
<p>The companion <strong>Channel Inventory</strong> page answers the question multi-channel
sellers ask constantly: <em>is what the channel is showing actually what I
have?</em> Each row compares your SKU.io quantity against the quantity the
channel is reporting and flags the difference as a <strong>variance</strong>. Summary
cards across the top break your whole catalog into <strong>In Sync</strong>,
<strong>Mismatch</strong>, <strong>Never Synced</strong>, and <strong>Pending Recalc</strong> — and each card is
a one-click filter, so you can pull up just the listings that have drifted
and ignore everything that's healthy. The <strong>Master</strong> column shows whether
SKU.io or the channel is authoritative for each listing, and <strong>Last Sync</strong>
tells you how fresh the numbers are.</p>
<p><img decoding="async" loading="lazy" alt="The Channel Inventory page with In Sync, Mismatch, Never Synced and Pending Recalc summary cards above a table comparing SKU.io quantity to channel quantity with a variance and sync-status column per listing" src="https://developer.sku.io/assets/images/channel-inventory-323fc36dd6253fafae7dcea3e32c2cdc.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fix-drift-in-bulk">Fix drift in bulk<a href="https://developer.sku.io/release-notes/2026/05/22/listings-channel-inventory#fix-drift-in-bulk" class="hash-link" aria-label="Direct link to Fix drift in bulk" title="Direct link to Fix drift in bulk" translate="no">​</a></h2>
<p>Finding the problem is only half the job. Select any set of listings — or
everything matching your current filter — and a bulk action bar appears
with <strong>Bulk Edit</strong> and <strong>Trigger Recalc</strong>. Triggering a recalculation
refreshes SKU.io's available quantity for those listings on the spot.</p>
<p><img decoding="async" loading="lazy" alt="Three listings selected in Channel Inventory with a bulk action bar offering Bulk Edit and Trigger Recalc, plus Selected Only and All Filtered scope options" src="https://developer.sku.io/assets/images/bulk-actions-64f6c8a96fb0f6cd013f88889d4f5f6a.png" width="1920" height="1080" class="img_ev3q"></p>
<p><strong>Bulk Edit</strong> opens a focused screen where you change only the settings
you turn on — leaving everything else untouched. Set the <strong>master of
stock</strong> for the whole selection (push SKU.io's stock to the channel, read
the channel's stock into SKU.io, or manage it manually), toggle whether
listings inherit their integration's rules, then preview the changes
before they're applied.</p>
<p><img decoding="async" loading="lazy" alt="The Bulk edit inventory screen for three selected listings, with an Inherit from integration toggle and a master-of-stock choice between SKU.io, Sales Channel, and Neither" src="https://developer.sku.io/assets/images/bulk-edit-ff05c2c0ac76eb1408f2b5d1ac09c4d8.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/05/22/listings-channel-inventory#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open <strong>Inventory → Listings</strong> for the full cross-channel listings table,
and <strong>Inventory → Channel Inventory</strong> for the stock-health view, summary
cards, and bulk inventory editing.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Inventory</category>
            <category>Integrations</category>
        </item>
        <item>
            <title><![CDATA[Apply Customer Store Credit to Sales Orders — settle a balance without taking a payment]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/20/apply-customer-credit-to-sales-orders</link>
            <guid>https://developer.sku.io/release-notes/2026/05/20/apply-customer-credit-to-sales-orders</guid>
            <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Apply a customer's open store credit straight to an unpaid sales order in two clicks, across multiple credits at once, with a clean audit trail and one-click unapply.]]></description>
            <content:encoded><![CDATA[<p>When a customer has a store credit on file and a sales order they
haven't paid yet, the obvious thing to do is use one to settle the
other. Until now that took several manual steps — recording a fake
payment, remembering to mark the credit as used, and reconciling both
sides by hand. <strong>Applying Store Credit to Sales Orders</strong> turns that
into a two-click flow: open the order's Payments tab, pick the credits
to apply, and SKU records the allocation, updates the order's balance,
and keeps the credit's remaining balance in sync — all in one go.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">Apply a customer's open store credit <strong>directly to any unpaid sales
order</strong> — no fake payments, no manual reconciliation.</li>
<li class="">See available credit <strong>the moment you open the order</strong> — a banner on
the Payments tab shows the total open balance and how many credits
are available.</li>
<li class="">Split a single payment across <strong>multiple credits at once</strong>, with
per-credit amounts and a running total against the balance due.</li>
<li class="">Each applied credit is recorded as its <strong>own payment row</strong> so the
order's payment history is clear and auditable.</li>
<li class="">Made a mistake? <strong>Unapply</strong> in one click — the allocation reverses
and the credit's balance comes straight back.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="see-available-credit-at-a-glance">See available credit at a glance<a href="https://developer.sku.io/release-notes/2026/05/20/apply-customer-credit-to-sales-orders#see-available-credit-at-a-glance" class="hash-link" aria-label="Direct link to See available credit at a glance" title="Direct link to See available credit at a glance" translate="no">​</a></h2>
<p>Open any unpaid sales order with a customer who has open store credit
and you'll see a new banner at the top of the Payments tab. It shows
the total credit available and how many open credits the customer
has — so you know there's something to apply before you go looking
for it.</p>
<p><img decoding="async" loading="lazy" alt="The sales order Payments tab, showing a Store Credit Available banner with the customer&amp;#39;s total open balance and an Apply Store Credit button" src="https://developer.sku.io/assets/images/banner-41bedd9c8e37f152feebe9eca73d241a.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="pick-the-credits-set-the-amounts">Pick the credits, set the amounts<a href="https://developer.sku.io/release-notes/2026/05/20/apply-customer-credit-to-sales-orders#pick-the-credits-set-the-amounts" class="hash-link" aria-label="Direct link to Pick the credits, set the amounts" title="Direct link to Pick the credits, set the amounts" translate="no">​</a></h2>
<p>Click <strong>Apply Store Credit</strong> and a dialog opens listing every open
credit the customer has, with its number, date, and current balance.
Tick the credits you want to use and the amount auto-fills to the
maximum that fits the balance due — or type in a custom amount per
credit if you only want to apply some of one. A live <strong>Total Selected</strong>
total sits right next to the <strong>Balance Due</strong>, so you can see exactly
where you'll land before you commit.</p>
<p><img decoding="async" loading="lazy" alt="The Apply Store Credit dialog, with two credits selected, per-credit amount inputs, and a Total Selected total alongside the Balance Due" src="https://developer.sku.io/assets/images/modal-d3e623b020b92e09221e491a5afcffff.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-clean-audit-trail--and-one-click-unapply">A clean audit trail — and one-click unapply<a href="https://developer.sku.io/release-notes/2026/05/20/apply-customer-credit-to-sales-orders#a-clean-audit-trail--and-one-click-unapply" class="hash-link" aria-label="Direct link to A clean audit trail — and one-click unapply" title="Direct link to A clean audit trail — and one-click unapply" translate="no">​</a></h2>
<p>Once applied, each credit shows up as its own row on the order's
Payments tab — labelled with the credit number it came from — and the
order's paid total and balance due update immediately. If something
needs to be undone, the <strong>Unapply</strong> button on each row reverses the
allocation and returns the full amount to the customer's open credit
balance.</p>
<p><img decoding="async" loading="lazy" alt="The Payments tab after applying credit, showing two Store Credit rows linked to their source credits, each with an Unapply button, and the order&amp;#39;s balance due updated" src="https://developer.sku.io/assets/images/applied-5dcf952c5ecca44ca7e5d845663343c6.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/05/20/apply-customer-credit-to-sales-orders#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open any <strong>sales order</strong> with an unpaid balance for a customer who has
open store credit, then go to the <strong>Payments</strong> tab — the <em>Store Credit
Available</em> banner and the <strong>Apply Store Credit</strong> button are right
there.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Orders</category>
            <category>Accounting</category>
        </item>
        <item>
            <title><![CDATA[Receive one PO into multiple warehouses]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/18/multi-warehouse-receiving</link>
            <guid>https://developer.sku.io/release-notes/2026/05/18/multi-warehouse-receiving</guid>
            <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Each inbound shipment on a purchase order now picks its own destination warehouse — so a single PO can land an inspection sample at HQ and the rest at your 3PL, with inventory and forecasts attributed to where the goods actually arrived.]]></description>
            <content:encoded><![CDATA[<p>If you import from one supplier but distribute across several locations — an inspection sample to HQ, the bulk to a 3PL, more again to a second 3PL — you've been forced to fight the system. SKU treated the PO's destination warehouse as the single truth, so the only way to record reality was to split one commercial order into multiple POs and reconcile the duplicates against your vendor's invoices and deposits by hand. <strong>Multi-warehouse receiving</strong> changes that. The inbound shipment is now the authoritative unit of "where the goods land," and each shipment on a PO can be sent to a different warehouse — while the PO itself stays a single commercial document.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">One PO can now receive into <strong>as many warehouses as you need</strong> — one shipment per destination, no more splitting an order to model reality.</li>
<li class="">Each shipment carries its own <strong>destination warehouse</strong>, editable while the shipment is still un-received and locked once goods arrive.</li>
<li class="">The receipt always books to the <strong>shipment's</strong> warehouse — so stock-on-hand, FIFO layers, and inventory movements end up at the location where the goods physically arrived.</li>
<li class="">Per-warehouse <strong>forecasts and reorder suggestions</strong> now attribute incoming supply to the destination of each shipment, not the PO header — your planning data finally matches what's on the truck.</li>
<li class="">Vendor deposits, invoices, and reconciliation stay on the <strong>single PO</strong> — no more multiplying your AP work to capture a multi-destination delivery.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="pick-the-destination-when-you-create-a-shipment">Pick the destination when you create a shipment<a href="https://developer.sku.io/release-notes/2026/05/18/multi-warehouse-receiving#pick-the-destination-when-you-create-a-shipment" class="hash-link" aria-label="Direct link to Pick the destination when you create a shipment" title="Direct link to Pick the destination when you create a shipment" translate="no">​</a></h2>
<p>When you create an inbound shipment from a PO, the <strong>Destination Warehouse</strong> field is now editable and pre-filled with the PO's default — change it to send this shipment somewhere else. Add as many shipments as you need; each one points at its own warehouse.</p>
<p><img decoding="async" loading="lazy" alt="The Create Shipment dialog on a purchase order, with an editable Destination Warehouse field pre-filled with the PO&amp;#39;s default warehouse" src="https://developer.sku.io/assets/images/create-shipment-dialog-b18dc36e3f7df2a0e7dac6a5c33671c7.png" width="1920" height="1080" class="img_ev3q"></p>
<p>You can keep editing a shipment's destination until it has its first receipt — then it locks, because once the goods are booked in, that's where they live.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="each-shipment-shows-where-its-going">Each shipment shows where it's going<a href="https://developer.sku.io/release-notes/2026/05/18/multi-warehouse-receiving#each-shipment-shows-where-its-going" class="hash-link" aria-label="Direct link to Each shipment shows where it's going" title="Direct link to Each shipment shows where it's going" translate="no">​</a></h2>
<p>The Shipments tab on a PO lists every shipment with its own destination clearly labelled, so the multi-destination plan for the order is visible at a glance.</p>
<p><img decoding="async" loading="lazy" alt="The Shipments tab of a purchase order, showing an inbound shipment with its destination warehouse and unit counts" src="https://developer.sku.io/assets/images/shipments-tab-9809e26da9b34913fb7675fc4937eca8.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="and-the-global-view-follows-the-goods">And the global view follows the goods<a href="https://developer.sku.io/release-notes/2026/05/18/multi-warehouse-receiving#and-the-global-view-follows-the-goods" class="hash-link" aria-label="Direct link to And the global view follows the goods" title="Direct link to And the global view follows the goods" translate="no">​</a></h2>
<p>The <strong>Inbound Shipments</strong> page lists every incoming shipment across all your POs with its own warehouse column and a warehouse filter — so warehouse teams can quickly see what's headed to their site without sifting through PO-header destinations that no longer tell the truth.</p>
<p><img decoding="async" loading="lazy" alt="The global Inbound Shipments list, with a Warehouse column and warehouse filter, showing each shipment&amp;#39;s actual destination" src="https://developer.sku.io/assets/images/inbound-shipments-list-f9bb882a33435e94188c566fba94f429.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="behind-the-scenes-inventory-and-planning-catch-up-too">Behind the scenes: inventory and planning catch up too<a href="https://developer.sku.io/release-notes/2026/05/18/multi-warehouse-receiving#behind-the-scenes-inventory-and-planning-catch-up-too" class="hash-link" aria-label="Direct link to Behind the scenes: inventory and planning catch up too" title="Direct link to Behind the scenes: inventory and planning catch up too" translate="no">​</a></h2>
<p>This isn't just a UI change. Every place SKU previously attributed a PO's incoming stock to the PO-header warehouse — receipts, FIFO layers, inventory movements, per-warehouse forecasts, the Inventory Planning Report, suggested reorder quantities, supplier consolidation, inventory valuation drilldowns — now follows the <strong>shipment's</strong> destination instead. Unreceived PO quantity that hasn't been assigned to a shipment yet still falls back to the PO header as the planned default, so your existing single-destination POs continue to forecast exactly as before.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/05/18/multi-warehouse-receiving#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open any purchase order and go to the <strong>Shipments</strong> tab — the <strong>Create Shipment</strong> button opens the new dialog with the editable Destination Warehouse field. The full list of incoming shipments across all your POs lives at <strong>Orders → Inbound Shipments</strong>.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Purchasing</category>
            <category>Inventory</category>
        </item>
        <item>
            <title><![CDATA[Product Analytics — see which products are growing, which are dying, and which channels are driving it]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/18/product-analytics</link>
            <guid>https://developer.sku.io/release-notes/2026/05/18/product-analytics</guid>
            <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A new analytics workspace that ranks your whole catalog by growth and profit, scores every product, and breaks each one down by sales channel.]]></description>
            <content:encoded><![CDATA[<p>If you manage more than a handful of SKUs, you already live the 80/20
problem: roughly 20% of your products drive 80% of your revenue — but
the long tail quietly declining, the winner you should be reordering
harder, the SKU that's thriving on Amazon while it collapses on your
Shopify store — none of that is visible without exporting sales orders
and reconciling them by hand. <strong>Product Analytics</strong> turns the sales,
purchasing, COGS, and inventory data SKU already holds into a single
decision-making surface: a macro dashboard that ranks every product, a
weighted performance scorecard on each one, and a true per-channel
breakdown of where the revenue is actually coming from.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">A <strong>macro dashboard</strong> that ranks your entire catalog by growth, sales
volume, profit, and margin — sortable, on one screen.</li>
<li class=""><strong>Hottest</strong> and <strong>Coldest</strong> products surfaced automatically, with
seasonality-aware growth math so a half-finished period never gets
compared against a full one.</li>
<li class="">A <strong>performance scorecard</strong> on every product — a single 1–5 score
built from gross margin, GMROI, sales growth, sell-through, stock
cover, and return rate, always expandable to its components.</li>
<li class="">A per-product <strong>Analytics tab</strong> with KPIs, trend charts, and a
breakdown of how that SKU performs <strong>channel by channel</strong>.</li>
<li class=""><strong>YoY / QoQ / MoM / custom</strong> period comparison applied consistently
across every metric.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-macro-view-of-your-whole-catalog">A macro view of your whole catalog<a href="https://developer.sku.io/release-notes/2026/05/18/product-analytics#a-macro-view-of-your-whole-catalog" class="hash-link" aria-label="Direct link to A macro view of your whole catalog" title="Direct link to A macro view of your whole catalog" translate="no">​</a></h2>
<p>Open <strong>Insights → Product Analytics</strong> for the portfolio view. KPI cards
across the top show total sales volume, units sold, profit, and active
products — each against the prior period with a signed delta. Below
them, <strong>Hottest</strong> and <strong>Coldest Products</strong> call out the biggest movers
automatically, and a <strong>Growth Heatmap</strong> plots every product against time
so a cooling SKU shows up as a row turning red months before it would
ever land on your radar.</p>
<p><img decoding="async" loading="lazy" alt="The Product Analytics dashboard, with KPI cards, hottest and coldest product panels, and a growth heatmap" src="https://developer.sku.io/assets/images/dashboard-9dcccbde8df425f94bc73f462096fea2.png" width="1680" height="1050" class="img_ev3q"></p>
<p>The period toggle (YoY, QoQ, MoM, Custom) and the growth basis (Sales,
Units, Profit, Margin) re-frame the entire dashboard at once — so you
can ask "what grew the most this quarter by profit" without touching a
spreadsheet. A sortable <strong>Product Leaderboard</strong> at the bottom ranks
every product with its sales, profit, margin, growth, sell-through, and
on-hand stock side by side.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-scorecard-for-every-product">A scorecard for every product<a href="https://developer.sku.io/release-notes/2026/05/18/product-analytics#a-scorecard-for-every-product" class="hash-link" aria-label="Direct link to A scorecard for every product" title="Direct link to A scorecard for every product" translate="no">​</a></h2>
<p>Every product gets an <strong>Analytics tab</strong> on its detail page. It opens
with the KPIs for that SKU, a <strong>trend chart</strong> you can switch between
sales, units, profit, and margin — and the <strong>Product Performance
Scorecard</strong>: a single 1–5 score that distills profitability, demand,
inventory health, and quality into one signal, with a radar chart
breaking out each dimension so you can always see <em>which</em> part is
strong or weak.</p>
<p><img decoding="async" loading="lazy" alt="A product&amp;#39;s Analytics tab showing KPI cards, the performance scorecard with a radar chart, and a trend chart" src="https://developer.sku.io/assets/images/product-analytics-tab-5db98126cf9f7ab6bfdbb20396d9d466.png" width="1680" height="1050" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="broken-down-by-sales-channel">Broken down by sales channel<a href="https://developer.sku.io/release-notes/2026/05/18/product-analytics#broken-down-by-sales-channel" class="hash-link" aria-label="Direct link to Broken down by sales channel" title="Direct link to Broken down by sales channel" translate="no">​</a></h2>
<p>The real question for a multichannel seller isn't just "how is this
product doing" — it's "<em>where</em>." The Analytics tab breaks each product
down by the channels it sells through, with units, revenue, profit,
margin, orders, and average order value per channel, plus its own
hottest/coldest channels and a channel growth heatmap. That's how you
catch a SKU that's thriving on one marketplace and quietly dying on
another.</p>
<p><img decoding="async" loading="lazy" alt="The sales channel breakdown for a product, showing per-channel metrics and a channel growth heatmap" src="https://developer.sku.io/assets/images/channel-breakdown-1fc1257abb77cf371093c31442eda1c3.png" width="1680" height="1050" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tune-the-scorecard-to-your-business">Tune the scorecard to your business<a href="https://developer.sku.io/release-notes/2026/05/18/product-analytics#tune-the-scorecard-to-your-business" class="hash-link" aria-label="Direct link to Tune the scorecard to your business" title="Direct link to Tune the scorecard to your business" translate="no">​</a></h2>
<p>The composite score isn't a black box. <strong>Scorecard Settings</strong> lets you
set the weight of each dimension — gross margin, GMROI, sales growth,
sell-through, stock cover, return rate — and the raw-value thresholds
that map to each 1–5 band. A distributor competing on margin and a
high-velocity seller competing on turn can each tune the score to mean
what it should for them. There's also a minimum-orders threshold so
low-sample SKUs show "insufficient data" instead of a misleading score.</p>
<p><img decoding="async" loading="lazy" alt="The Scorecard Settings page with dimension weight sliders, score thresholds, and a data sufficiency control" src="https://developer.sku.io/assets/images/scorecard-settings-dbd7b03a9861de2c011e7c2fef2a7cd2.png" width="1680" height="1050" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/05/18/product-analytics#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open <strong>Insights → Product Analytics</strong> for the macro dashboard,
leaderboard, and movers. Every product's own numbers live on the
<strong>Analytics tab</strong> of its detail page, and the scoring rules are under
<strong>Scorecard Settings</strong> from the dashboard header.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Reporting</category>
            <category>Inventory</category>
        </item>
        <item>
            <title><![CDATA[Supplier Analytics — see which suppliers are growing, which are slipping, and how good a partner each one really is]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/18/supplier-analytics</link>
            <guid>https://developer.sku.io/release-notes/2026/05/18/supplier-analytics</guid>
            <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A new analytics workspace that ranks your whole supplier base by growth and profit, scores every supplier on delivery, quality and cost, and breaks each one down product by product.]]></description>
            <content:encoded><![CDATA[<p>If you buy from more than a handful of suppliers, "how is supplier X
doing?" is a question that costs you 20–40 minutes of exporting purchase
orders and sales orders into a spreadsheet — and "which supplier grew
the most this year, and which one is quietly slipping?" usually never
gets asked at all. The data already lives in SKU: every PO, every
receipt, every sale and its margin. It's just scattered. <strong>Supplier
Analytics</strong> pulls it together into one decision-making surface: a macro
dashboard that ranks your entire supplier base, a weighted performance
scorecard on every supplier, and a per-supplier breakdown of which
products are driving — or dragging — the relationship.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">A <strong>macro dashboard</strong> that ranks every supplier by growth, purchase
volume, sales volume, and profit — sortable, on one screen.</li>
<li class=""><strong>Hottest</strong> and <strong>Coldest Suppliers</strong> surfaced automatically, with a
minimum-volume guard so a one-PO supplier can't top the list.</li>
<li class="">A <strong>performance scorecard</strong> on every supplier — a single 1–5 score
built from on-time delivery, lead-time reliability, fill rate, defect
rate, and cost competitiveness, always expandable to its components.</li>
<li class="">A per-supplier <strong>Analytics tab</strong> with KPIs, trend charts, hottest and
coldest products, and a full <strong>product-by-product breakdown</strong>.</li>
<li class=""><strong>YoY / QoQ / MoM / custom</strong> period comparison applied consistently
across every metric.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-macro-view-of-your-whole-supplier-base">A macro view of your whole supplier base<a href="https://developer.sku.io/release-notes/2026/05/18/supplier-analytics#a-macro-view-of-your-whole-supplier-base" class="hash-link" aria-label="Direct link to A macro view of your whole supplier base" title="Direct link to A macro view of your whole supplier base" translate="no">​</a></h2>
<p>Open <strong>Insights → Supplier Analytics</strong> for the portfolio view. KPI cards
across the top show total purchase volume, sales volume, profit, and
active suppliers — each against the prior period with a signed delta.
Below them, <strong>Hottest</strong> and <strong>Coldest Suppliers</strong> call out the biggest
movers automatically, and a <strong>Growth Heatmap</strong> plots every supplier
against time so a cooling relationship shows up as a row turning red
months before a stockout or a quality incident forces it onto your
radar.</p>
<p><img decoding="async" loading="lazy" alt="The Supplier Analytics dashboard, with KPI cards, hottest and coldest supplier panels, and a growth heatmap" src="https://developer.sku.io/assets/images/dashboard-2a32267ff940d38b8bd36d7aa9b701e1.png" width="1920" height="1080" class="img_ev3q"></p>
<p>The period toggle (YoY, QoQ, MoM, Custom) and the growth basis (Spend,
Sales, Profit, Margin) re-frame the whole dashboard at once — so you can
ask "who grew the most this quarter by profit" without touching a
spreadsheet.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="rank-every-supplier-side-by-side">Rank every supplier side by side<a href="https://developer.sku.io/release-notes/2026/05/18/supplier-analytics#rank-every-supplier-side-by-side" class="hash-link" aria-label="Direct link to Rank every supplier side by side" title="Direct link to Rank every supplier side by side" translate="no">​</a></h2>
<p>A sortable <strong>Supplier Leaderboard</strong> ranks every active supplier with its
purchase volume, sales volume, units purchased and sold, profit, margin,
growth, scorecard score, and active PO count — each with its own delta
badge. It's the cross-supplier comparison that used to mean a manual
export: the renegotiation candidate, the supplier you should be buying
harder from, the one to consolidate away, all visible at a glance.</p>
<p><img decoding="async" loading="lazy" alt="The supplier leaderboard, ranking every supplier by volume, profit, margin and growth" src="https://developer.sku.io/assets/images/leaderboard-3082081ac6403256b7c89f616eab0c9f.png" width="1920" height="1080" class="img_ev3q"></p>
<p>Click any supplier — in the leaderboard, the heatmap, or the movers
panels — to drop straight into its own analytics view.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-scorecard-for-every-supplier">A scorecard for every supplier<a href="https://developer.sku.io/release-notes/2026/05/18/supplier-analytics#a-scorecard-for-every-supplier" class="hash-link" aria-label="Direct link to A scorecard for every supplier" title="Direct link to A scorecard for every supplier" translate="no">​</a></h2>
<p>Every supplier gets an <strong>Analytics tab</strong> on its detail page. It opens
with that supplier's KPIs, a <strong>trend chart</strong> you can switch between
spend, sales, units, profit, and margin — and the <strong>Supplier
Scorecard</strong>: a single 1–5 score that distills delivery, quality, cost,
and responsiveness into one signal, with a radar chart breaking out each
dimension so you can always see <em>which</em> part is strong or weak. Below
it, hottest and coolest products and a full product breakdown table show
exactly which SKUs are driving the relationship.</p>
<p><img decoding="async" loading="lazy" alt="A supplier&amp;#39;s Analytics tab showing KPI cards, the performance scorecard with a radar chart, and a trend chart" src="https://developer.sku.io/assets/images/analytics-tab-20e9b4de7837bf0ccdae41be2ab19763.png" width="1920" height="1080" class="img_ev3q"></p>
<p>A supplier with too few purchase orders in the period shows
"insufficient data" instead of a misleading score.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tune-the-scorecard-to-your-business">Tune the scorecard to your business<a href="https://developer.sku.io/release-notes/2026/05/18/supplier-analytics#tune-the-scorecard-to-your-business" class="hash-link" aria-label="Direct link to Tune the scorecard to your business" title="Direct link to Tune the scorecard to your business" translate="no">​</a></h2>
<p>The composite score isn't a black box. <strong>Scorecard Settings</strong> lets you
set the weight of each dimension — on-time delivery, lead-time
reliability, fill rate, defect rate, cost competitiveness, price
stability — and the raw-value thresholds that map to each 1–5 band. A
distributor competing on landed cost and a seller who lives and dies by
delivery reliability can each tune the score to mean what it should for
them. There's also a minimum-orders threshold so low-sample suppliers
don't get a score off two POs, and a live preview so you can see the
effect of a change before you save it.</p>
<p><img decoding="async" loading="lazy" alt="The Scorecard Settings page with dimension weight sliders, score thresholds, and a live preview" src="https://developer.sku.io/assets/images/scorecard-settings-cf4e7093dd7e172402a06e7439f8d3eb.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/05/18/supplier-analytics#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open <strong>Insights → Supplier Analytics</strong> for the macro dashboard,
leaderboard, and movers. Every supplier's own numbers live on the
<strong>Analytics tab</strong> of its detail page, and the scoring rules are under
<strong>Scorecard Settings</strong> from the dashboard header.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Reporting</category>
            <category>Purchasing</category>
        </item>
        <item>
            <title><![CDATA[Faire integration]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/15/faire-integration</link>
            <guid>https://developer.sku.io/release-notes/2026/05/15/faire-integration</guid>
            <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Connect a Faire account as a sales channel — orders, products, and inventory sync into SKU automatically.]]></description>
            <content:encoded><![CDATA[<p>Faire joins SKU as a first-class sales channel — connect your account and orders, products, and inventory stay in sync.</p>
<p>Add a Faire connection from the Integrations menu and SKU pulls your Faire orders, listings, and inventory into a dedicated workspace — with an orders list and detail view, product mapping to match Faire listings to SKU products, and inventory sync. Synced Faire orders now turn into SKU sales orders automatically as they arrive, so nothing waits on a manual import step.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Integrations</category>
            <category>Orders</category>
        </item>
        <item>
            <title><![CDATA[Vendor Deposits — track the money you send suppliers before the bill arrives]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/13/vendor-deposits</link>
            <guid>https://developer.sku.io/release-notes/2026/05/13/vendor-deposits</guid>
            <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Record, pay, and apply prepayments to suppliers as a first-class document — so deposits, 30/70 splits, and overseas-manufacturing terms live inside SKU instead of a spreadsheet.]]></description>
            <content:encoded><![CDATA[<p>If you import from overseas, order custom tooling, or pay any supplier a
deposit before production starts, you already know the awkward gap: the
cash leaves your account weeks before a bill exists, and SKU had nowhere
to put it. Until now that money lived in a spreadsheet or got hacked in
as a negative bill line — which quietly corrupts your costs. <strong>Vendor
Deposits</strong> closes the gap. It's a new first-class document that lets you
record a prepayment, pay it, track it against the purchase order, and
automatically net it off the supplier's bill when it finally lands.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">Record money sent to a supplier <strong>before any bill exists</strong> — wires,
ACH, checks, or payments made outside SKU.</li>
<li class="">Deposits are tracked <strong>against the purchase order</strong>, so you can always
see how much of a PO is prepaid and how much is still owed.</li>
<li class="">When the supplier's bill arrives, the deposit is <strong>applied
automatically</strong> — no more remembering to net it off by hand.</li>
<li class="">Deposits post correctly to <strong>Other Current Assets</strong> and never touch
your FIFO cost or inventory valuation — your margins stay clean.</li>
<li class="">A dedicated <strong>Cash Due Schedule</strong> answers the question every AP team
actually asks: <em>what do I owe right now, and what's coming up?</em></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-workspace-for-every-prepayment">A workspace for every prepayment<a href="https://developer.sku.io/release-notes/2026/05/13/vendor-deposits#a-workspace-for-every-prepayment" class="hash-link" aria-label="Direct link to A workspace for every prepayment" title="Direct link to A workspace for every prepayment" translate="no">​</a></h2>
<p>Vendor Deposits is its own area under <strong>Orders → Vendor Deposits</strong>.
The main list shows every deposit with its supplier, linked purchase
order, status, and a running breakdown of how much has been paid,
applied, and is still available — with summary cards across the top for
total open balance and anything overdue.</p>
<p><img decoding="async" loading="lazy" alt="The Vendor Deposits workspace, listing deposits with status, amounts paid and applied, and summary cards for open balance and overdue deposits" src="https://developer.sku.io/assets/images/list-page-f0381c644981a297e193d7ff447a32db.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="create-a-deposit-in-seconds">Create a deposit in seconds<a href="https://developer.sku.io/release-notes/2026/05/13/vendor-deposits#create-a-deposit-in-seconds" class="hash-link" aria-label="Direct link to Create a deposit in seconds" title="Direct link to Create a deposit in seconds" translate="no">​</a></h2>
<p>Add a deposit from the workspace — or straight from a purchase order so
it's linked from the start. Pick the supplier, enter an amount in the
supplier's currency, set the deposit and due dates, and attach the
proforma invoice or wire confirmation. Multi-currency is handled
properly: you record the FX rate at payment time, and SKU keeps the
tenant-currency value alongside it.</p>
<p><img decoding="async" loading="lazy" alt="The New Vendor Deposit form, with fields for supplier, purchase order, currency, FX rate, amount, and dates" src="https://developer.sku.io/assets/images/create-drawer-16f9c3fb8208e60d597e59a1bf7b4db4.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="pay-apply-and-reconcile">Pay, apply, and reconcile<a href="https://developer.sku.io/release-notes/2026/05/13/vendor-deposits#pay-apply-and-reconcile" class="hash-link" aria-label="Direct link to Pay, apply, and reconcile" title="Direct link to Pay, apply, and reconcile" translate="no">​</a></h2>
<p>Each deposit has its own detail page with a clear lifecycle — approve,
record payment, then apply it to bills. Partial payments and partial
applications are fully supported, so a single deposit can be split
across several wires or netted against several bills. Every payment,
application, refund, and accounting journal is recorded on its own tab,
so the full history of the money is always one click away.</p>
<p><img decoding="async" loading="lazy" alt="A vendor deposit detail page showing amount paid, amount applied, available balance, and tabs for payments, applications, refunds and accounting" src="https://developer.sku.io/assets/images/deposit-detail-e8a9092f4ecd81387ade1af5c4095e7e.png" width="1920" height="1080" class="img_ev3q"></p>
<p>When a bill is posted against a purchase order that has a paid deposit,
SKU applies the deposit to that bill automatically — reducing the
balance due and moving the deposit toward closed, with the matching
accounting entry posted for you.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="know-what-cash-is-due--and-when">Know what cash is due — and when<a href="https://developer.sku.io/release-notes/2026/05/13/vendor-deposits#know-what-cash-is-due--and-when" class="hash-link" aria-label="Direct link to Know what cash is due — and when" title="Direct link to Know what cash is due — and when" translate="no">​</a></h2>
<p>Aging tells you how long money has been sitting. The new <strong>Cash Due
Schedule</strong> does the opposite: it looks forward. It groups your supplier
obligations into <em>due now</em>, <em>due within 30 days</em>, and <em>upcoming</em> — so AP
can see exactly what needs to be paid and plan around it, instead of
being surprised by a half-million-dollar invoice and doing the backwards
math to verify it.</p>
<p><img decoding="async" loading="lazy" alt="The Cash Due Schedule, grouping supplier obligations into due now, due within 30 days, and awaiting trigger" src="https://developer.sku.io/assets/images/cash-due-schedule-f3d39573601239a9ddfd4727d5c45ead.png" width="1920" height="1080" class="img_ev3q"></p>
<p>Alongside it you'll find a full set of planning and reconciliation
views — Cash Flow Forecast, Supplier Exposure, Upcoming Liability,
Aging, Supplier Statement, and a Write-Off report — plus optional
Google Calendar sync so deposit due dates land on your calendar.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/05/13/vendor-deposits#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Open <strong>Orders → Vendor Deposits</strong> in the main menu for the full
workspace. You can also add and view deposits directly from any
<strong>purchase order</strong>, where they appear linked to the PO they belong to.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Purchasing</category>
            <category>Accounting</category>
        </item>
        <item>
            <title><![CDATA[Merged Shipments]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/07/merged-shipments</link>
            <guid>https://developer.sku.io/release-notes/2026/05/07/merged-shipments</guid>
            <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Combine multiple sales orders headed to the same address into a single shipment with one tracking number.]]></description>
            <content:encoded><![CDATA[<p>Combine two or more sales orders headed to the same address into a single shipment with one tracking number — while every underlying order stays intact.</p>
<p>Select the orders to combine and SKU runs an eligibility check, then creates a <strong>Merged Shipment</strong> you pick, pack, and label as one unit. Each original order — and its source-channel order — keeps its own identity, and tracking writes back to all of them. SKU also suggests merge candidates on the order page, and a merge can be reversed any time before the label is purchased.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Orders</category>
            <category>Fulfillment</category>
            <category>Shipping</category>
        </item>
        <item>
            <title><![CDATA[Scan supplier invoices and customer POs straight into SKU.io]]></title>
            <link>https://developer.sku.io/release-notes/2026/05/01/document-ocr-for-invoices-and-purchase-orders</link>
            <guid>https://developer.sku.io/release-notes/2026/05/01/document-ocr-for-invoices-and-purchase-orders</guid>
            <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[New OCR document scanning extracts line items, pricing, and contacts from supplier invoices and customer purchase orders to create records automatically.]]></description>
            <content:encoded><![CDATA[<p>You can now turn PDF documents into SKU.io records automatically — no more manual line-by-line entry.</p>
<p>Headline changes this release:</p>
<ul>
<li class=""><strong>Supplier invoice scanning</strong> — Upload an invoice PDF on a purchase invoice and OCR extracts the header fields and line items, then runs a three-way match against the purchase order and receipts so you can confirm quantities and costs before applying. Find it under the Documents tab of a purchase invoice.</li>
<li class=""><strong>Customer PO scanning</strong> — Upload a customer purchase order PDF from the sales orders area and OCR extracts customer details, line items, quantities, and pricing into a draft sales order, matching products against your catalog. Review and adjust everything on the OCR review page before creating the order.</li>
</ul>
<p>Both flows remember past matches — including how a supplier's line descriptions map to your products and revenue lines — so repeat imports get faster over time.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Purchasing</category>
            <category>Orders</category>
        </item>
        <item>
            <title><![CDATA[Command Palette & Keyboard Shortcuts — Jump Anywhere, Hands on the Keyboard]]></title>
            <link>https://developer.sku.io/release-notes/2026/04/24/command-palette-keyboard-shortcuts</link>
            <guid>https://developer.sku.io/release-notes/2026/04/24/command-palette-keyboard-shortcuts</guid>
            <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Press ⌘K to search products, orders, and contacts from anywhere, and drive your lists, navigation, and search entirely from the keyboard.]]></description>
            <content:encoded><![CDATA[<p>Finding a specific product or order used to mean clicking into the right list, waiting for it to load, then filtering or scrolling until it turned up — and reaching for the mouse for every hop between pages. Now SKU has a redesigned <strong>global search</strong> and a full set of <strong>keyboard shortcuts</strong>. Press ⌘K from anywhere to open a command palette that searches across your products, orders, and contacts at once — or jump straight to any page, and select and open rows in your data tables, all without leaving the keyboard.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class="">Search products, sales orders, purchase orders, customers, and suppliers from one box — press ⌘K anywhere</li>
<li class="">Results are grouped by type and matched text is highlighted, so the right record stands out</li>
<li class="">Jump between sections with two-key shortcuts — <code>g</code> then <code>s</code> for Sales Orders, <code>g</code> then <code>r</code> for Products, and more</li>
<li class="">Move, select, and open rows in any data table without touching the mouse</li>
<li class="">Press <code>?</code> anywhere to see the full list of shortcuts</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="search-everything-from-one-box">Search everything from one box<a href="https://developer.sku.io/release-notes/2026/04/24/command-palette-keyboard-shortcuts#search-everything-from-one-box" class="hash-link" aria-label="Direct link to Search everything from one box" title="Direct link to Search everything from one box" translate="no">​</a></h2>
<p>Press ⌘K (or click the search bar at the top of any page) to open the command palette and start typing. SKU searches your products, sales orders, purchase orders, customers, and suppliers at the same time and groups what it finds by type. The chips along the top show how many matches each type has, the text you typed is highlighted in every result, and you can narrow to a single type with <code>Tab</code> — or by typing a prefix like <code>p:</code> for products or <code>o:</code> for orders.</p>
<p><img decoding="async" loading="lazy" alt="Global search showing grouped, highlighted results for a query" src="https://developer.sku.io/assets/images/search-results-5d88ad90df2375ab7e2fdbe4baadc5f6.png" width="1440" height="810" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="jump-anywhere-without-typing">Jump anywhere without typing<a href="https://developer.sku.io/release-notes/2026/04/24/command-palette-keyboard-shortcuts#jump-anywhere-without-typing" class="hash-link" aria-label="Direct link to Jump anywhere without typing" title="Direct link to Jump anywhere without typing" translate="no">​</a></h2>
<p>Open the palette without a search term and it becomes a launcher. Quick Navigation lists your main sections — Dashboard, Products, Sales Orders, Purchase Orders, Inventory, Settings — and each Action shows its two-key shortcut, so you pick up the keystroke while you use the menu. Choose one with the arrow keys and <code>Enter</code>, or skip the palette entirely: press <code>g</code> then <code>s</code> to land on Sales Orders, <code>g</code> then <code>r</code> for Products, <code>g</code> then <code>p</code> for Purchase Orders.</p>
<p><img decoding="async" loading="lazy" alt="The command palette open as a launcher with quick navigation and shortcut badges" src="https://developer.sku.io/assets/images/command-palette-3a8d6290476f1529e910eb31e6548218.png" width="1440" height="810" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="drive-your-data-tables-from-the-keyboard">Drive your data tables from the keyboard<a href="https://developer.sku.io/release-notes/2026/04/24/command-palette-keyboard-shortcuts#drive-your-data-tables-from-the-keyboard" class="hash-link" aria-label="Direct link to Drive your data tables from the keyboard" title="Direct link to Drive your data tables from the keyboard" translate="no">​</a></h2>
<p>Every data table now responds to the keyboard. Use <code>J</code> and <code>K</code> (or the arrow keys) to move the focused row up and down, <code>X</code> or <code>Space</code> to select and deselect rows, and <code>Enter</code> to open the focused record. Select several rows and the bulk actions toolbar appears — edit, archive, or delete them together — all without reaching for the mouse. Press <code>/</code> to drop into the page's search box, and <code>Escape</code> to step back out.</p>
<p><img decoding="async" loading="lazy" alt="A products list with two rows selected and the bulk actions toolbar showing" src="https://developer.sku.io/assets/images/table-keyboard-nav-5ea10064cb22f4acfd237f8c3bebfa0a.png" width="1440" height="810" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="see-every-shortcut-at-a-glance">See every shortcut at a glance<a href="https://developer.sku.io/release-notes/2026/04/24/command-palette-keyboard-shortcuts#see-every-shortcut-at-a-glance" class="hash-link" aria-label="Direct link to See every shortcut at a glance" title="Direct link to See every shortcut at a glance" translate="no">​</a></h2>
<p>Not sure what's available? Press <code>?</code> anywhere in SKU to open the keyboard shortcuts overlay. It lays everything out in one place — general shortcuts, data-table navigation, and the go-to navigation chords — so you can learn a few at a time. Press <code>?</code> again, or <code>Escape</code>, to dismiss it.</p>
<p><img decoding="async" loading="lazy" alt="The keyboard shortcuts overlay grouped into General, Data Tables, and Navigation" src="https://developer.sku.io/assets/images/keyboard-shortcuts-d445f006092f9a36570c3b120540232a.png" width="1440" height="810" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/04/24/command-palette-keyboard-shortcuts#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>The command palette is always a ⌘K (or <code>Ctrl+K</code> on Windows) away — or click the <strong>Search</strong> bar at the top of any page. Press <code>?</code> at any time to bring up the full shortcuts overlay, and try <code>g</code> then <code>s</code>, <code>g</code> then <code>r</code>, or <code>g</code> then <code>p</code> to feel how fast keyboard navigation can be.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Improved</category>
            <category>Orders</category>
            <category>Inventory</category>
            <category>Purchasing</category>
        </item>
        <item>
            <title><![CDATA[Vendor Credits — close the loop on supplier returns and rebates]]></title>
            <link>https://developer.sku.io/release-notes/2026/04/17/vendor-credits</link>
            <guid>https://developer.sku.io/release-notes/2026/04/17/vendor-credits</guid>
            <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Track supplier-issued credits as first-class records, apply them to open bills without moving cash, and keep inventory and accounting in sync.]]></description>
            <content:encoded><![CDATA[<p>When a supplier issues a credit — for returned goods, a pricing correction, a damaged shipment, or a volume rebate — where does it go? Until now, the honest answer was usually a spreadsheet, or a manual journal entry in QuickBooks that SKU never saw. There was no record tying the credit back to the original purchase order, no way to apply it against a future bill, and no clean reversal of inventory cost. <strong>Vendor Credits</strong> changes that: a supplier credit is now a proper document in SKU, with a full lifecycle, that you can apply to bills, reconcile, and sync to your accounting platform.</p>
<p><strong>✨ What this means for you:</strong></p>
<ul>
<li class=""><strong>Never lose a credit again</strong> — every supplier credit lives in one searchable list, so nothing slips through the cracks at month-end.</li>
<li class=""><strong>Apply credits to open bills</strong> — knock down what you owe a supplier without moving any cash.</li>
<li class=""><strong>Inventory and accounting stay honest</strong> — returning stock reverses the right cost layers, and the credit posts straight to your books.</li>
<li class=""><strong>Works with or without a PO</strong> — credit a specific purchase, or log a standalone credit for an overpayment or rebate.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="every-supplier-credit-in-one-place">Every supplier credit in one place<a href="https://developer.sku.io/release-notes/2026/04/17/vendor-credits#every-supplier-credit-in-one-place" class="hash-link" aria-label="Direct link to Every supplier credit in one place" title="Direct link to Every supplier credit in one place" translate="no">​</a></h2>
<p>The Vendor Credits workspace gives you a running list of every credit, with totals across the top: open credits, unapplied balance, and how much you've already allocated. Filter by status, supplier, or date, and you always know exactly how much credit you're sitting on.</p>
<p><img decoding="async" loading="lazy" alt="The Vendor Credits list page showing open and unapplied credit totals and a credit row" src="https://developer.sku.io/assets/images/workspace-53baab005612f58a9d421ce7138fb1ec.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="create-a-credit-from-a-purchase-order--or-on-its-own">Create a credit from a purchase order — or on its own<a href="https://developer.sku.io/release-notes/2026/04/17/vendor-credits#create-a-credit-from-a-purchase-order--or-on-its-own" class="hash-link" aria-label="Direct link to Create a credit from a purchase order — or on its own" title="Direct link to Create a credit from a purchase order — or on its own" translate="no">​</a></h2>
<p>Click <strong>Create Vendor Credit</strong> and tell SKU what the credit is for. Choose <strong>Return or damaged goods</strong> to credit against a purchase order — SKU pulls in the supplier, currency, and line items so you only adjust quantities. Or choose <strong>Adjust, rebate, or refund</strong> for a non-stock credit like a price dispute, freight error, or overpayment, with no purchase order required.</p>
<p><img decoding="async" loading="lazy" alt="The Create Vendor Credit dialog with credit-type options and a purchase order selector" src="https://developer.sku.io/assets/images/create-ecec0c5e092725c172e3d50bfd2f3194.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="see-exactly-whats-being-credited">See exactly what's being credited<a href="https://developer.sku.io/release-notes/2026/04/17/vendor-credits#see-exactly-whats-being-credited" class="hash-link" aria-label="Direct link to See exactly what's being credited" title="Direct link to See exactly what's being credited" translate="no">​</a></h2>
<p>Each vendor credit gets its own detail page. Pull in lines straight from the purchase order, mark which items are physically going back to the supplier, and add custom or expense lines for anything that isn't a product. When you authorize the credit, SKU reverses the correct inventory cost layers and posts a matching accounting transaction — so your stock value and your general ledger stay in step.</p>
<p><img decoding="async" loading="lazy" alt="A vendor credit detail page showing credited line items pulled from a purchase order" src="https://developer.sku.io/assets/images/detail-60cc3b1c341c449344ef455af1b8d09a.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="apply-credits-to-open-bills">Apply credits to open bills<a href="https://developer.sku.io/release-notes/2026/04/17/vendor-credits#apply-credits-to-open-bills" class="hash-link" aria-label="Direct link to Apply credits to open bills" title="Direct link to Apply credits to open bills" translate="no">​</a></h2>
<p>This is the part finance teams have been asking for. Open the <strong>Allocate</strong> panel on any credit and apply its balance to one or more open purchase invoices for that supplier — reducing what you owe without writing a check. In a hurry? <strong>Auto-apply to oldest bills</strong> clears the balance against your oldest outstanding invoices in one click. If a supplier sends cash back instead, you can record that as a refund payment.</p>
<p><img decoding="async" loading="lazy" alt="The Allocate Vendor Credit panel showing the credit balance and an option to auto-apply to oldest bills" src="https://developer.sku.io/assets/images/allocate-3e0a711259abc3b0a00a200e44ce67a5.png" width="1920" height="1080" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-to-find-it">Where to find it<a href="https://developer.sku.io/release-notes/2026/04/17/vendor-credits#where-to-find-it" class="hash-link" aria-label="Direct link to Where to find it" title="Direct link to Where to find it" translate="no">​</a></h2>
<p>Vendor Credits lives under <strong>Orders → Vendor Credits</strong> in the main menu. You can also start a credit directly from a purchase order or a purchase invoice when a supplier issue comes up.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>New</category>
            <category>Purchasing</category>
            <category>Accounting</category>
            <category>Inventory</category>
        </item>
        <item>
            <title><![CDATA[A fully rebuilt Veracore integration workspace]]></title>
            <link>https://developer.sku.io/release-notes/2026/04/17/veracore-integration-workspace</link>
            <guid>https://developer.sku.io/release-notes/2026/04/17/veracore-integration-workspace</guid>
            <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The Veracore fulfillment integration now has a complete management workspace with dashboard, orders, report tasks, shipping methods, and source-code mappings.]]></description>
            <content:encoded><![CDATA[<p>The Veracore fulfillment integration now has a complete, dedicated management workspace.</p>
<p>Connecting Veracore previously gave you only a single page to work from. The integration now opens into a full workspace — a dashboard with order and sync health at a glance, plus dedicated screens for orders, order detail, report tasks, shipping methods, and source-code mappings. Order syncing and fulfillment cost reconciliation run as tracked background jobs you can follow in the job tray. Open it from Integrations and select your Veracore connection.</p>]]></content:encoded>
            <category>Major Feature</category>
            <category>Improved</category>
            <category>Integrations</category>
            <category>Fulfillment</category>
        </item>
        <item>
            <title><![CDATA[Amazon Inventory & Valuation, Stock Holds, and allocation foundation]]></title>
            <link>https://developer.sku.io/release-notes/2026/03/31/amazon-inventory-valuation-and-allocation-foundation</link>
            <guid>https://developer.sku.io/release-notes/2026/03/31/amazon-inventory-valuation-and-allocation-foundation</guid>
            <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A new Inventory & Valuation section for Amazon FBA, first-class Stock Holds and Allocations workspaces, and FIFO-layer drilldowns in the Profitability report.]]></description>
            <content:encoded><![CDATA[<p>A new Inventory &amp; Valuation section anchors every Amazon FBA integration, Stock Holds and Allocations become first-class workspaces, and the Profitability report gains FIFO-layer drilldowns.</p>
<p>Headline changes this release:</p>
<ul>
<li class=""><strong>Amazon Inventory &amp; Valuation</strong> — real-time FIFO valuation, FNSKU product workspaces, reconciliation timelines, and bulk discrepancy tools, all under one section per integration.</li>
<li class=""><strong>Stock Holds &amp; Allocations</strong> — new datatable workspaces in the Inventory menu, the foundation for the unified allocation model.</li>
<li class=""><strong>Profitability drilldowns</strong> — COGS links straight to FIFO layer detail, with a richer waterfall chart and cost-breakdown modal.</li>
<li class=""><strong>Redesigned Dashboard</strong> — a rebuilt home dashboard with operational KPIs, a revenue chart, inventory health and needs-attention panels, top products, and a low-stock report.</li>
<li class="">Plus a broad wave of Shopify, Veracore, Walmart, and purchasing reliability fixes.</li>
</ul>]]></content:encoded>
            <category>Major Feature</category>
            <category>Improved</category>
            <category>Inventory</category>
            <category>Integrations</category>
            <category>Reporting</category>
            <category>Fulfillment</category>
            <category>Purchasing</category>
        </item>
        <item>
            <title><![CDATA[Settings overhaul, Stock Take rewrite, and the Profitability report]]></title>
            <link>https://developer.sku.io/release-notes/2026/02/28/settings-overhaul-stock-takes-and-profitability</link>
            <guid>https://developer.sku.io/release-notes/2026/02/28/settings-overhaul-stock-takes-and-profitability</guid>
            <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A full Settings refactor, a new Vue 3 Stock Take workflow, a Profitability report with FIFO drilldown, and per-store PDF templates.]]></description>
            <content:encoded><![CDATA[<p>The Settings area is rebuilt on the modern datatable stack, Stock Takes become a full Vue 3 workspace, a new Profitability report ships, and PDF templates can be set per store.</p>
<p>Headline changes this release:</p>
<ul>
<li class=""><strong>Settings overhaul</strong> — every Settings list now has server-side search, sorting, advanced filters, bulk actions, and saved views.</li>
<li class=""><strong>Stock Take rewrite</strong> — a new Vue 3 workspace with a reconciliation workflow, an adjustment mode, and a scanner-friendly barcode modal.</li>
<li class=""><strong>Profitability report</strong> — trend, cost-breakdown, and per-order FIFO drilldown views.</li>
<li class=""><strong>Per-store PDF templates</strong> — Sales Order, Purchase Order, and Packing Slip templates can be overridden per store.</li>
<li class=""><strong>Products workspace</strong> — a rebuilt Vue 3 Products section with a bulk-edit grid for changing many products at once and a preview before applying.</li>
<li class=""><strong>Bundle &amp; Kit Workshop</strong> — a new workspace for building bundles and kits, with auto-detect suggestions and a conversion queue.</li>
<li class=""><strong>Backorder Queue V2</strong> — priority settings plus manual release and cover controls for working the backorder queue.</li>
<li class=""><strong>Fulfillment Debt report</strong> — a new report showing outstanding sales channel fulfillment obligations.</li>
<li class="">Plus deeper Amazon, Shopify, and Veracore reliability work.</li>
</ul>]]></content:encoded>
            <category>Major Feature</category>
            <category>Improved</category>
            <category>Inventory</category>
            <category>Integrations</category>
            <category>Fulfillment</category>
            <category>Purchasing</category>
            <category>Reporting</category>
        </item>
        <item>
            <title><![CDATA[Batched COGS rebuild, Purchase Invoices page, and job reliability]]></title>
            <link>https://developer.sku.io/release-notes/2025/12/30/cogs-rebuild-purchase-invoices-and-reliability</link>
            <guid>https://developer.sku.io/release-notes/2025/12/30/cogs-rebuild-purchase-invoices-and-reliability</guid>
            <pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[A parallel-batched COGS rebuild with failed-product visibility, a new Purchase Invoices page, and a wave of background-job reliability fixes.]]></description>
            <content:encoded><![CDATA[<p>The COGS rebuild now runs in parallel batches with live progress, a new Purchase Invoices page joins Orders, and a wave of background-job reliability fixes land.</p>
<p>Headline changes this release:</p>
<ul>
<li class=""><strong>Faster COGS rebuilds</strong> — the job fans out across up to 100 parallel batches, with a <strong>Failed Products</strong> panel on COGS Health listing anything that errored.</li>
<li class=""><strong>Purchase Invoices</strong> — a new list under Orders for tracking invoice status against POs.</li>
<li class=""><strong>Shopify tracking catch-up</strong> — tracking now reaches the channel even for fulfillments marked outside ShipStation, with the backstop running every 10 minutes.</li>
<li class=""><strong>Amazon FC auto-inference</strong> — new fulfillment centers resolve their country automatically instead of crashing the sync.</li>
<li class=""><strong>Background-job reliability</strong> — FIFO locking, packing-slip overlap handling, Amazon retry windows, and clearer error reporting.</li>
</ul>]]></content:encoded>
            <category>Major Feature</category>
            <category>Improved</category>
            <category>Inventory</category>
            <category>Purchasing</category>
            <category>Orders</category>
            <category>Integrations</category>
        </item>
    </channel>
</rss>